Пример #1
0
        public Type Generate()
        {
            TypeBuilder       typeBuilder       = CreateTypeBuilder();
            MethodImplementor methodImplementor =
                new MethodImplementor(typeBuilder, DefineInvocationHandlerField(typeBuilder));

            ImplementMethods(methodImplementor);
            return(typeBuilder.CreateType());
        }
Пример #2
0
 private void ImplementMethods(MethodImplementor methodImplementor)
 {
     foreach (Type currentType in new InterfaceLister().List(type))
     {
         foreach (MethodInfo methodInfo in currentType.GetMethods(ALL_INSTANCE_METHODS))
         {
             if (ShouldImplement(methodInfo))
             {
                 methodImplementor.Implement(methodInfo);
             }
         }
     }
 }
Пример #3
0
 private void ImplementMethods(MethodImplementor methodImplementor)
 {
     foreach (Type currentType in new InterfaceLister().List(type))
     {
         foreach (MethodInfo methodInfo in currentType.GetMethods(ALL_INSTANCE_METHODS))
         {
             if (ShouldImplement(methodInfo))
                 methodImplementor.Implement(methodInfo);
         }
     }
 }
Пример #4
0
        public Type Generate()
        {
            TypeBuilder typeBuilder = CreateTypeBuilder();
            MethodImplementor methodImplementor =
                new MethodImplementor(typeBuilder, DefineInvocationHandlerField(typeBuilder));

            ImplementMethods(methodImplementor);
            return typeBuilder.CreateType();
        }