Beispiel #1
0
 /// <summary>
 /// 当前的实例
 /// </summary>
 public static TInterface Resolve <T, TInterface>() where T : IResolveAsSingleton, TInterface, new()
 {
     if (_resolveFunc != null)
     {
         var instance = _resolveFunc(typeof(TInterface));
         if (instance != null)
         {
             return((TInterface)_resolveFunc(typeof(TInterface)));
         }
     }
     return(ResolveAsSingletonHelper <T, TInterface> .Resolve());
 }
Beispiel #2
0
 /// <summary>
 /// 重新设置工厂方法
 /// </summary>
 /// <param name="func"></param>
 public static void SetFactoryFunc <T, TInterface>(Func <TInterface> func) where T : IResolveAsSingleton, TInterface, new()
 {
     ResolveAsSingletonHelper <T, TInterface> .SetFactoryFunc(func);
 }
Beispiel #3
0
 /// <summary>
 /// 重新设置工厂方法(恢复默认)
 /// </summary>
 public static void ResetFactoryFunc <T, TInterface>() where T : IResolveAsSingleton, TInterface, new()
 {
     ResolveAsSingletonHelper <T, TInterface> .ResetFactoryFunc();
 }