コード例 #1
0
 public DelegatingTypeGenerator(params Type[] interfaces)
 {
     _generator = new TypeGenerator(typeof(object), "Interceptor", "InterceptedObject");
     foreach (var interfaceType in interfaces)
     {
         _generator.Implements(interfaceType);
     }
     _generator.AddConstructor(Constructor);
     _generator.AddField("__interceptionService", typeof(IDynamicImplementation), FieldAttributes.Private | FieldAttributes.InitOnly, ref __interceptionService);
     _generator.WhenMethodImplementationRequired(ImplementMethod);
     _generator.WhenPropertyImplementationRequired(ImplementProperty);
     _generator.WhenEventImplementationRequired(ImplementEvent);
 }