Business Logic Toolkit for .NET
www.bltoolkit.net
Welcome
Guest
, you are in:
<root>
Doc
•
Login
|
Home
|
Download
|
Documentation
|
Discussions
|
Issues
|
License
|
Navigation
¶
Random Page
Create a new Page
All Pages
Categories
Navigation Paths
Administration
File Management
Create Account
Search the wiki
»
Back
Welcome to BLToolkit
Business Logic Toolkit is a set of components to simplify .NET application development. BLToolkit is provided as source code that you can use "as is" or customize for your applications. It is written in C# and compatible with .NET Framework 3.5 and 4.0. ---- <table> <tr> <td valign=top width=20%>• [++Doc.Aspects|Aspects]</td> <td> CacheAspect, CounterAspect, LoggingAspect, MixinAttribute. All of these are available now in C# (well, with one little limitation). <div style='font-size:.65em;margin-top:.6em;'> [code lang=c#] [/*[a]*/Counter/*[/a]*/, /*[a]*/Log/*[/a]*/] public /*[a]*/abstract/*[/a]*/ class MyClass { [/*[a]*/Cache/*[/a]*/] public /*[a]*/virtual/*[/a]*/ int MyMethod(int p1, int p2) { [/code] </div> </td> </tr> <tr> <td valign=top>• [++Doc.ComponentModel|ComponentModel]</td> <td>Object Binder. Add Business Objects' native purity and flexibility to your ASP.NET and WinForms applications.</td> </tr> <tr> <td valign=top>• [++Doc.Data|Data]</td> <td> High-level, data provider independent wrapper for ADO.NET. <div style='font-size:.65em;margin-top:.6em;'> [code lang=c#] using (DbManager db = new DbManager()) { return db .SetCommand("SELECT * FROM Person") .ExecuteList<Person>(); [/code] </div> </td> </tr> <tr> <td valign=top>• [++Doc.Linq|Data.Linq]</td> <td> Linq provider for numerous databases. <div style='font-size:.65em;margin-top:.6em;'> [code lang=c#] from c in db.Customer where c.ContactName.Length > 5 select c.ContactName; [/code] </div> </td> </tr> <tr> <td valign=top>• [++Doc.DataAccess|DataAccess]</td> <td> 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! <div style='font-size:.65em;margin-top:.6em;'> [code lang=c#] public /*[a]*/abstract/*[/a]*/ class PersonAccessor : /*[a]*/DataAccessor/*[/a]*/ { [/*[a]*/SqlText/*[/a]*/(@"SELECT * FROM Person WHERE FirstName = @firstName")] public /*[a]*/abstract/*[/a]*/ List<Person> GetPersonListByFirstName(string @firstName); [/*[a]*/SprocName/*[/a]*/("sp_GetPersonListByLastName")] public /*[a]*/abstract/*[/a]*/ List<Person> GetPersonListByLastName(string @lastName); [/code] </div> </td> </tr> <tr> <td valign=top>• [++Doc.EditableObjects|EditableObjects]</td> <td> Set of base classes to build custom object hierarchies. The ''EditableObject'' and ''EditableList'' classes support such methods as ''AcceptChanges'', ''RejectChanges'', flag ''IsDirty'', and ''PropertyChanged''. <div style='font-size:.65em;margin-top:.6em;'> [code lang=c#] public /*[a]*/abstract/*[/a]*/ class TestObject : /*[a]*/EditableObject/*[/a]*/<TestObject> { public /*[a]*/abstract/*[/a]*/ string FirstName { get; set; } public /*[a]*/abstract/*[/a]*/ string LastName { get; set; } } ... TestObject obj = TestObject./*[a]*/CreateInstance/*[/a]*/(); obj.FirstName = "Tester"; obj.AcceptChanges(); [/code] </div> </td> </tr> <tr> <td valign=top>• [++Doc.Mapping|Mapping]</td> <td>High performance object mapper will help you build your own ORM.</td> </tr> <tr> <td valign=top>• [++Doc.Reflection|Reflection]</td> <td>The ''TypeAccessor'' class allows to avoid slowness of Reflection and gain incredible performance of applications working with types dynamically.</td> </tr> <tr> <td valign=top>• [++Doc.EmitHelloWorld|Reflection.Emit]</td> <td> The ''EmitHelper'' class - emit with a human face. <div style='font-size:.65em;margin-top:.6em;'> [code lang=c#] emit // string.Format("Hello, {0}!", toWhom) // ./*[a]*/ldstr/*[/a]*/ ("Hello, {0}!") ./*[a]*/ldarg_1/*[/a]*/ ./*[a]*/call/*[/a]*/ (typeof(string), "Format", typeof(string), typeof(object)) // Console.WriteLine("Hello, World!"); // ./*[a]*/call/*[/a]*/ (typeof(Console), "WriteLine", typeof(string)) ./*[a]*/ret/*[/a]*/() ; [/code] </div> </td> </tr> <tr> <td valign=top>• [++Doc.TypeBuilder|TypeBuilder]</td> <td>Extensible run-time class generator.</td> </tr> </table>
© 2010 www.bltoolkit.net
support@bltoolkit.net