Mercurial > pub > bltoolkit
comparison Source/Aspects/AsyncAttribute.cs @ 0:f990fcb411a9
Копия текущей версии из github
| author | cin | 
|---|---|
| date | Thu, 27 Mar 2014 21:46:09 +0400 | 
| parents | |
| children | 
   comparison
  equal
  deleted
  inserted
  replaced
| -1:000000000000 | 0:f990fcb411a9 | 
|---|---|
| 1 using System; | |
| 2 | |
| 3 using BLToolkit.TypeBuilder.Builders; | |
| 4 | |
| 5 namespace BLToolkit.Aspects | |
| 6 { | |
| 7 /// <summary> | |
| 8 /// http://www.bltoolkit.net/Doc/Aspects/index.htm | |
| 9 /// </summary> | |
| 10 [AttributeUsage(AttributeTargets.Method)] | |
| 11 public sealed class AsyncAttribute : AbstractTypeBuilderAttribute | |
| 12 { | |
| 13 private readonly string _targetMethodName; | |
| 14 private readonly Type[] _parameterTypes; | |
| 15 | |
| 16 public AsyncAttribute() | |
| 17 { | |
| 18 } | |
| 19 | |
| 20 public AsyncAttribute(string targetMethodName): this(targetMethodName, null) | |
| 21 { | |
| 22 } | |
| 23 | |
| 24 public AsyncAttribute(params Type[] parameterTypes): this(null, parameterTypes) | |
| 25 { | |
| 26 } | |
| 27 | |
| 28 public AsyncAttribute(string targetMethodName, params Type[] parameterTypes) | |
| 29 { | |
| 30 _targetMethodName = targetMethodName; | |
| 31 _parameterTypes = parameterTypes; | |
| 32 } | |
| 33 | |
| 34 public override IAbstractTypeBuilder TypeBuilder | |
| 35 { | |
| 36 get { return new Builders.AsyncAspectBuilder(_targetMethodName, _parameterTypes); } | |
| 37 } | |
| 38 } | |
| 39 } | 
