0
+ − 1 <div class="j">
+ − 2 Business Logic Toolkit is a set of components to simplify .NET application development.
+ − 3 BLToolkit is provided as <a href="Source/index.htm">source code</a> that you can use "as is" or customize for your applications.
+ − 4 It is written in C# and compatible with .NET Framework 2.0, 3.0, and 3.5.<br/><br/>
+ − 5 </div>
+ − 6 <table border="0" cellpadding="0" cellspacing="0">
+ − 7 <tr>
+ − 8 <td>
+ − 9 <% rss # rss.xml %>
+ − 10 <br>
+ − 11 <a class="rss" href="rss.xml"> RSS </a>
+ − 12 </td>
+ − 13 <td nowrap> </td>
+ − 14 <td>
+ − 15 <ct_table>
+ − 16 <ct_item link="Doc/Aspects/index.htm" label="Aspects" >
+ − 17 CacheAspect, CounterAspect, LoggingAspect, MixinAttribute. All of these are available now in C# (well, with one little limitation).
+ − 18 <% cs #
+ − 19 [/*[a]*/Counter/*[/a]*/, /*[a]*/Log/*[/a]*/]
+ − 20 public /*[a]*/abstract/*[/a]*/ class MyClass
+ − 21 {
+ − 22 [/*[a]*/Cache/*[/a]*/]
+ − 23 public /*[a]*/virtual/*[/a]*/ int MyMethod(int p1, int p2)
+ − 24 {
+ − 25 %>
+ − 26 </ct_item>
+ − 27 <mt_item link="Doc/ComponentModel/index.htm" label="ComponentModel" >Object Binder. Add Business Objects' native purity and flexibility to your ASP.NET and WinForms applications.</mt_item>
+ − 28 <mt_item link="Doc/Data/index.htm" label="Data" >
+ − 29 High-level, data provider independent wrapper for ADO.NET.
+ − 30 <% cs #
+ − 31 using (DbManager db = new DbManager())
+ − 32 {
+ − 33 return db
+ − 34 .SetCommand("SELECT * FROM Person")
+ − 35 .ExecuteList<Person>();
+ − 36 %>
+ − 37 </mt_item>
+ − 38 <mt_item link="Doc/DataAccess/index.htm" label="DataAccess" >
+ − 39 Data Access Layer. Got bored of writing the same data access code over and over again? Now you are saved from being just a coding machine!
+ − 40 <% cs #
+ − 41 public /*[a]*/abstract/*[/a]*/ class PersonAccessor : /*[a]*/DataAccessor/*[/a]*/
+ − 42 {
+ − 43 [/*[a]*/SqlText/*[/a]*/(@"SELECT * FROM Person WHERE FirstName = @firstName")]
+ − 44 public /*[a]*/abstract/*[/a]*/ List<Person> GetPersonListByFirstName(string @firstName);
+ − 45
+ − 46 [/*[a]*/SprocName/*[/a]*/("sp_GetPersonListByLastName")]
+ − 47 public /*[a]*/abstract/*[/a]*/ List<Person> GetPersonListByLastName(string @lastName);
+ − 48 %>
+ − 49 </mt_item>
+ − 50 <mt_item link="Doc/EditableObjects/index.htm" label="EditableObjects">
+ − 51 Set of base classes to build custom object hierarchies. The <i>EditableObject</i> and <i>EditableList</i> classes support such methods as <i>AcceptChanges</i>, <i>RejectChanges</i>, flag <i>IsDirty</i>, and event <i>PropertyChanged</i>.
+ − 52 <% cs #
+ − 53 public /*[a]*/abstract/*[/a]*/ class TestObject : /*[a]*/EditableObject/*[/a]*/<TestObject>
+ − 54 {
+ − 55 public /*[a]*/abstract/*[/a]*/ string FirstName { get; set; }
+ − 56 public /*[a]*/abstract/*[/a]*/ string LastName { get; set; }
+ − 57 }
+ − 58
+ − 59 ...
+ − 60
+ − 61 TestObject obj = TestObject./*[a]*/CreateInstance/*[/a]*/();
+ − 62 obj.FirstName = "Tester";
+ − 63 obj.AcceptChanges();
+ − 64 %>
+ − 65 </mt_item>
+ − 66 <mt_item link="Doc/Mapping/index.htm" label="Mapping" >High performance object mapper will help you build your own ORM.</mt_item>
+ − 67 <mt_item link="Doc/Reflection/index.htm" label="Reflection" >The <i>TypeAccessor</i> class allows to avoid slowness of Reflection and gain incredible performance of applications working with types dynamically.</mt_item>
+ − 68 <mt_item link="Doc/Reflection/Emit/index.htm" label="Reflection.Emit">
+ − 69 The <i>EmitHelper</i> class - emit with a human face.
+ − 70 <% cs #
+ − 71 emit
+ − 72 // string.Format("Hello, {0}!", toWhom)
+ − 73 //
+ − 74 ./*[a]*/ldstr/*[/a]*/ ("Hello, {0}!")
+ − 75 ./*[a]*/ldarg_1/*[/a]*/
+ − 76 ./*[a]*/call/*[/a]*/ (typeof(string), "Format", typeof(string), typeof(object))
+ − 77
+ − 78 // Console.WriteLine("Hello, World!");
+ − 79 //
+ − 80 ./*[a]*/call/*[/a]*/ (typeof(Console), "WriteLine", typeof(string))
+ − 81 ./*[a]*/ret/*[/a]*/()
+ − 82 ;
+ − 83 %>
+ − 84 </mt_item>
+ − 85 <mt_item link="Doc/TypeBuilder/index.htm" label="TypeBuilder" >Extensible run-time class generator.</mt_item>
+ − 86 <mt_item link="Doc/Validation/index.htm" label="Validation" >Simple way to do a complex thing.</mt_item>
+ − 87
+ − 88 <tr><td colspan="3" nowrap>
+ − 89 <br>
+ − 90 <br>
+ − 91 <!-- Search Google -->
+ − 92 <FORM method=GET action=http://www.google.com/custom>
+ − 93 <TABLE bgcolor=#FFFFFF cellspacing=0 border=0>
+ − 94 <tr valign=top><td>
+ − 95 <A HREF=http://www.google.com/search>
+ − 96 <IMG SRC=http://www.google.com/logos/Logo_40wht.gif border=0 ALT=Google align=middle></A>
+ − 97 </td>
+ − 98 <td>
+ − 99 <INPUT TYPE=text name=q size=31 maxlength=255 value="">
+ − 100 <INPUT type=submit name=sa VALUE="Google Search">
+ − 101 <INPUT type=hidden name=cof VALUE="S:http://www.bltoolkit.com;VLC:#55AABB;AH:center;LC:#338899;ALC:#338899;AWFID:f21e212400fdbd32;">
+ − 102 <input type=hidden name=domains value="bltoolkit.net"><br><input type=radio name=sitesearch value=""> Search WWW <input type=radio name=sitesearch value="bltoolkit.net" checked> Search bltoolkit.net
+ − 103 </td></tr></TABLE>
+ − 104 </FORM>
+ − 105 <!-- Search Google -->
+ − 106 </td></tr>
+ − 107
+ − 108 </ct_table>
+ − 109
+ − 110 </td>
+ − 111 </tr>
+ − 112 </table>
+ − 113