示例#1
0
        public void CastleTestConstructorClass()
        {
            var proxyGenerator = new ProxyGenerator();

            var originalObj = new CrazyConstructorSpecialDisposable("test", "test2");

            var newObj = (CrazyConstructorSpecialDisposable)proxyGenerator.CreateClassProxyWithTarget(originalObj.GetType(), originalObj, new object[] { "a", "b" }, Enumerable.Empty <IInterceptor>().ToArray());

            Assert.IsAssignableFrom <IDisposable>(newObj);
            Assert.IsAssignableFrom <ISpecialDisposable>(newObj);
            Assert.IsAssignableFrom <CrazyConstructorSpecialDisposable>(newObj);
            Assert.Equal("a", newObj.A);
            Assert.Equal("b", newObj.B);
        }
示例#2
0
        public void CastleTestConstructorClass()
        {
            var proxyGenerator = new ProxyGenerator();

            var originalObj = new CrazyConstructorSpecialDisposable("test", "test2");

            var newObj = (CrazyConstructorSpecialDisposable)proxyGenerator.CreateClassProxyWithTarget(originalObj.GetType(), originalObj, new object[] { "a", "b" }, Enumerable.Empty<IInterceptor>().ToArray());

            Assert.IsAssignableFrom<IDisposable>(newObj);
            Assert.IsAssignableFrom<ISpecialDisposable>(newObj);
            Assert.IsAssignableFrom<CrazyConstructorSpecialDisposable>(newObj);
            Assert.Equal("a", newObj.A);
            Assert.Equal("b", newObj.B);
        }