Mercurial > pub > bltoolkit
diff Source/Aspects/AsyncAttribute.cs @ 0:f990fcb411a9
Копия текущей версии из github
author | cin |
---|---|
date | Thu, 27 Mar 2014 21:46:09 +0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Source/Aspects/AsyncAttribute.cs Thu Mar 27 21:46:09 2014 +0400 @@ -0,0 +1,39 @@ +using System; + +using BLToolkit.TypeBuilder.Builders; + +namespace BLToolkit.Aspects +{ + /// <summary> + /// http://www.bltoolkit.net/Doc/Aspects/index.htm + /// </summary> + [AttributeUsage(AttributeTargets.Method)] + public sealed class AsyncAttribute : AbstractTypeBuilderAttribute + { + private readonly string _targetMethodName; + private readonly Type[] _parameterTypes; + + public AsyncAttribute() + { + } + + public AsyncAttribute(string targetMethodName): this(targetMethodName, null) + { + } + + public AsyncAttribute(params Type[] parameterTypes): this(null, parameterTypes) + { + } + + public AsyncAttribute(string targetMethodName, params Type[] parameterTypes) + { + _targetMethodName = targetMethodName; + _parameterTypes = parameterTypes; + } + + public override IAbstractTypeBuilder TypeBuilder + { + get { return new Builders.AsyncAspectBuilder(_targetMethodName, _parameterTypes); } + } + } +}