public Type Generate() { TypeBuilder typeBuilder = CreateTypeBuilder(); MethodImplementor methodImplementor = new MethodImplementor(typeBuilder, DefineInvocationHandlerField(typeBuilder)); ImplementMethods(methodImplementor); return(typeBuilder.CreateType()); }
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); } } } }
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); } } }
public Type Generate() { TypeBuilder typeBuilder = CreateTypeBuilder(); MethodImplementor methodImplementor = new MethodImplementor(typeBuilder, DefineInvocationHandlerField(typeBuilder)); ImplementMethods(methodImplementor); return typeBuilder.CreateType(); }