Mercurial > pub > bltoolkit
diff Source/Aspects/OverloadAttribute.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/OverloadAttribute.cs Thu Mar 27 21:46:09 2014 +0400 @@ -0,0 +1,38 @@ +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 OverloadAttribute : AbstractTypeBuilderAttribute + { + private readonly string _overloadedMethodName; + private readonly Type[] _parameterTypes; + + public OverloadAttribute() + { + } + + public OverloadAttribute(string overloadedMethodName): this(overloadedMethodName, null) + { + } + + public OverloadAttribute(params Type[] parameterTypes): this(null, parameterTypes) + { + } + + public OverloadAttribute(string overloadedMethodName, params Type[] parameterTypes) + { + _overloadedMethodName = overloadedMethodName; + _parameterTypes = parameterTypes; + } + + public override IAbstractTypeBuilder TypeBuilder + { + get { return new Builders.OverloadAspectBuilder(_overloadedMethodName, _parameterTypes); } + } + } +} \ No newline at end of file