| 
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 
 |