Exemple #1
0
        /// <summary>
        /// 实例类型,注入所有代理的类型
        /// </summary>
        private static void InitProxyTypes()
        {
            InterceptorProxyBuilder proxyBuilder = new InterceptorProxyBuilder();

            //遍历所有的需要代理的类型
            foreach (var aopConfig in aopConfigList)
            {
                try
                {
                    //调用生成代理的方法
                    var proxy = InterceptorProxyBuilder.CreateProxy(GetType(aopConfig.Value.Type));
                    //把生成的代理对象放入对象容器
                    objList.Add(aopConfig.Key, proxy);
                    //把类型放入类型容器
                    typeList.Add(proxy.GetType().FullName, proxy.GetType());
                }
                catch
                {
                    throw new Exception("创建" + aopConfig.Value.Type + "的代理失败");
                }
            }
        }