autofac文檔:Resolve的參數


AutoFac文檔

目錄

  1. 開始
  2. Registering components
  3. 控制范圍和生命周期
  4. 用模塊結構化Autofac
  5. xml配置
  6. 與.net集成
  7. 深入理解Autofac
  8. 指導
  9. 關於
  10. 詞匯表

Resolve的參數

當注冊或者檢索component的時候可以使用參數

傳遞參數給Resolve

Resolve接受可變長度的參數列表

  var fred = Resolve<Person>(new NamedParameter("name", "Fred"));
 

如果是通過反射注冊的,這樣做可以自動映射到類中指定對應參數的構造函數。比如:

  class Person
    {
    public Person(string name)
    ...
 

可用的參數類型

Autofac提供幾種不同的參數對應策略

  • NamedParameter -像上面那樣對應的參數名字
  • TypedParameter -對應到參數的類型(必須是具體的類型)
  • ResolvedParameter 靈活的參數匹配

NamedParameter TypedParameter 只能提供常量參數

從表達式中使用參數

如果Person是使用表達式注冊的,可以使用第二個可用的委托參數(IEnumerable類型)來獲得參數。

  builder.Register((c, p) => new Person(p.Named<string>("name")));
 

委托工廠

閱讀委托工廠來獲得一種清晰簡潔的創建需要參數的component的方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM