Mercurial > pub > bltoolkit
view Source/Aspects/NoInterceptionAttribute.cs @ 5:f7d63a092920
Исправлено условие Where в тех случаях, когда репозитарий не является генериком
author | cin |
---|---|
date | Tue, 10 Mar 2015 16:02:11 +0300 |
parents | f990fcb411a9 |
children |
line wrap: on
line source
using System; using BLToolkit.TypeBuilder.Builders; namespace BLToolkit.Aspects { [AttributeUsage( AttributeTargets.Class | AttributeTargets.Interface | AttributeTargets.Property | AttributeTargets.Method, AllowMultiple=true)] public class NoInterceptionAttribute : InterceptorAttribute { public NoInterceptionAttribute() : base(null, 0) { } public NoInterceptionAttribute(Type interceptorType, InterceptType interceptType) : base(interceptorType, interceptType) { } public override IAbstractTypeBuilder TypeBuilder { get { return new NoInterceptionAspectBuilder(InterceptorType, InterceptType); } } private class NoInterceptionAspectBuilder : Builders.InterceptorAspectBuilder { public NoInterceptionAspectBuilder(Type interceptorType, InterceptType interceptType) : base(interceptorType, interceptType, null, TypeBuilderConsts.Priority.Normal, false) { } public override void Build(BuildContext context) { if (context.Step == BuildStep.Begin || context.Step == BuildStep.End) base.Build(context); } } } }