/// <summary> /// The core method for creating a new proxy type /// </summary> /// <param name="interfaceType"> The interface type. </param> /// <param name="implementationTypeName"> The implementation type name. </param> /// <returns> The created type </returns> private static Type CreateProxyCore(Type interfaceType, string implementationTypeName) { TypeBuilder classBuilder = CreateImplementationType(moduleBuilder, interfaceType, implementationTypeName); ILWriter.CreateConstructor(classBuilder, typeof(ServiceClient)); foreach (MethodInfo method in interfaceType.GetMethods()) { GenerateMethod(classBuilder, method); } return(classBuilder.CreateType()); }