static void Main(string[] args) { EmitProxyFactory useFactory = new EmitProxyFactory(); int a = 0; int b; int c; B useB = new ConsoleTest.B(); useB.m_thisValue = 7; A useA = useFactory.CreatInstance <A>(5); c = useA.GetValue(ref a, out b, useB); Console.WriteLine(); C useC = useFactory.CreatInstance <C>(); int d = useC.TestMethod(0, 1); Console.WriteLine(); RealProxyFactory useProxyFactory = new RealProxyFactory(); D useD = new D(3); var proxyD = useProxyFactory.CreatProxy <ITestValue>(useD); proxyD.TestValue(1, 0); Console.Read(); }
public T Create <T>() { ValidateEasyClientConfig(); var executor = new ProxyMethodExecutor(Config); IProxyFactory proxyFactory; #if NET472 proxyFactory = new RealProxyFactory <T>(); #else proxyFactory = new ReflectionProxyFactory(); #endif return(proxyFactory.Create <T>(executor)); }