2016-07-07 72 views
1

果園緩存設計:從Autofac遷移如何解決?

public interface ICacheManager 
{ 
    ICache<TKey, TResult> GetCache<TKey, TResult>(); 
} 

class DefaultCacheManager : ICacheManager 
{ 
    public DefaultCacheManager(Type component, ICacheHolder cacheHolder) 
    { 
     //do something 
    } 
    public ICache<TKey, TResult> GetCache<TKey, TResult>() 
    { 
     //do somthing 
    } 
} 

Autofac代碼:

//1.register 
builder.RegisterType<DefaultCacheManager>().As<ICacheManager>().SingleInstance(); 

//2.reslove 
// the parameter is dynamic 
var parameter = new TypedParameter(do somthing...);  
container.Resolve(parameter); //resolve by parameter 

問:

Autofac有一個方法:

object Resolve(Type serviceType, params Parameter[] parameters); 

但我cant'find在使用參數解析dryioc,dryioc怎麼樣?

+0

歡迎堆棧溢出!我編輯了你的問題來格式化你的代碼示例,以便正確渲染 - 請參閱編輯幫助以獲取更多格式化信息。請編輯以提供確定具體問題所需的其他詳細信息。祝你好運! – Wtower

回答

1

簡短的回答:

container.Resolve<Func<Type, ICacheManager>>()(my parameter ...); 
+0

沒關係,謝謝! – try

+0

我會把它留在這裏...也許這可能有助於其他人跟蹤狀態:https://bitbucket.org/dadhi/dryioc/issues/304/add-option-to-pass-values-for-some – Maxim