annotate Source/Aspects/NoInterceptionAttribute.cs @ 4:f757da6161a1

!bug 100 + 2h fixed gregression
author cin
date Sun, 24 Aug 2014 17:57:42 +0400
parents f990fcb411a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 using System;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using BLToolkit.TypeBuilder.Builders;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 namespace BLToolkit.Aspects
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 [AttributeUsage(
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 AttributeTargets.Class |
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 AttributeTargets.Interface |
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 AttributeTargets.Property |
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 AttributeTargets.Method,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 AllowMultiple=true)]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 public class NoInterceptionAttribute : InterceptorAttribute
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 public NoInterceptionAttribute()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 : base(null, 0)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20 public NoInterceptionAttribute(Type interceptorType, InterceptType interceptType)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 : base(interceptorType, interceptType)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25 public override IAbstractTypeBuilder TypeBuilder
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 get { return new NoInterceptionAspectBuilder(InterceptorType, InterceptType); }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 private class NoInterceptionAspectBuilder : Builders.InterceptorAspectBuilder
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 public NoInterceptionAspectBuilder(Type interceptorType, InterceptType interceptType)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 : base(interceptorType, interceptType, null, TypeBuilderConsts.Priority.Normal, false)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 public override void Build(BuildContext context)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 if (context.Step == BuildStep.Begin || context.Step == BuildStep.End)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 base.Build(context);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 }