コード例 #1
0
 public DynamicProxyValueInterceptorContext()
 {
     var innerCatalog = new TypeCatalog(typeof(Customer));
     var interceptor = new FreezableInterceptor();
     interceptor.Freeze();
     var valueInterceptor = new DynamicProxyInterceptor(interceptor);
     Catalog = new InterceptingCatalog(innerCatalog, valueInterceptor);
     Container = new CompositionContainer(Catalog);
     Context();
 }
コード例 #2
0
            public static TFreezable MakeFreezable <TFreezable>() where TFreezable : class, new()
            {
                var freezableInterceptor = new FreezableInterceptor();
                var options = new ProxyGenerationOptions(new FreezableProxyGenerationHook())
                {
                    Selector = _selector
                };
                var proxy = _generator.CreateClassProxy(typeof(TFreezable), options, new CallLoggingInterceptor(),
                                                        freezableInterceptor);

                return(proxy as TFreezable);
            }