public void ProxyForRefAndOutClassWithPrimitiveTypeParamsWhereInterceptorModifiesTheValues() { RefAndOutInterceptor interceptor = new RefAndOutInterceptor(); RefAndOutClass proxy = (RefAndOutClass) _generator.CreateClassProxy( typeof(RefAndOutClass), interceptor); Assert.IsNotNull(proxy); int arg1 = -3; proxy.RefInt(ref arg1); Assert.AreEqual(98, arg1); int arg2; proxy.OutInt(out arg2); Assert.AreEqual(102, arg2); Assert.AreEqual("RefInt OutInt ", interceptor.LogContents); }
public void ProxyForRefAndOutClassWithPrimitiveTypeParams() { LogInvokeInterceptor interceptor = new LogInvokeInterceptor(); RefAndOutClass proxy = (RefAndOutClass) _generator.CreateClassProxy( typeof(RefAndOutClass), interceptor); Assert.IsNotNull(proxy); int int1 = -3; proxy.RefInt(ref int1); Assert.AreEqual(-2, int1); int int2; proxy.OutInt(out int2); Assert.AreEqual(2, int2); Assert.AreEqual("RefInt OutInt ", interceptor.LogContents); }