| 0 | 1 <p class="j">All BLToolkit aspects are implemented as attributes and have to be applied to | 
|  | 2 abstract or virtual members of an abstract class. | 
|  | 3 You need to use <b>TypeAccessor<T>.CreateInstance()</b> method to create an instance of the class. | 
|  | 4 BLToolkit class builder creates an actual class and applies aspects to abstract and virtual members | 
|  | 5 by overriding the members and emitting (see <b>System.Reflection.Emit</b> namespace) | 
|  | 6 additional code around them. | 
|  | 7 </p> | 
|  | 8 <ct_table> | 
|  | 9 <ct_hr> | 
|  | 10 <ct_item link='AsyncAspect.htm'       label='Async aspect'      /><ct_hr> | 
|  | 11 <ct_text>Cache aspect</ct_text> | 
|  | 12 <ct_item link='CacheAspect.htm'       label='Cache aspect'      /> | 
|  | 13 <ct_item link='NoCacheAttribute.htm'  label='NoCache attribute' /> | 
|  | 14 <ct_item link='ClearCacheAspect.htm'  label='ClearCache aspect' /><ct_hr> | 
|  | 15 <ct_item link='CounterAspect.htm'     label='Counter aspect'    /><ct_hr> | 
|  | 16 <ct_item link='LoggingAspect.htm'     label='Logging aspect'    /><ct_hr> | 
|  | 17 <ct_item link='MixinAspect.htm'       label='Mixin aspect'      /><ct_hr> | 
|  | 18 <ct_item link='NotNullAttribute.htm'  label='NotNull attribute' /><ct_hr> | 
|  | 19 <ct_item link='OverloadAspect.htm'    label='Overload aspect'   /><ct_hr> | 
|  | 20 </ct_table> |