/// <summary> /// 包装传入对象的实例,使得它具有“方面”的功能 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="target"></param> /// <returns></returns> public T Create <T>(object target) where T : class { Type interfaceType = typeof(T); T obj = (T)DecoratorInjector.Create(target, interfaceType); return(obj); }
/// <summary> /// 通过IOC的配置信息,创建AOP对象的实例 /// </summary> /// <typeparam name="T">返回值类型,通常为AOP对象的接口</typeparam> /// <returns>AOP对象的实例</returns> public T Create <T>() where T : class { Type interfaceType = typeof(T); T obj = null; //使用预先生成的程序集没有太大价值,下面代码被注释 //------------------------------------------------------------------------------------------- //先看类型T对应的程序集有没有生成,如果生成,就采用生成好的 //try //{ // obj = Unity.Instance.GetInstance<T>("AOP", interfaceType.FullName ); //} //catch(Exception ex) //{ // obj = (T)DecoratorInjector.Create(CreateInstance(interfaceType.FullName ), interfaceType); //} obj = (T)DecoratorInjector.Create(CreateInstance(interfaceType.FullName), interfaceType); return(obj); }