autofac文檔:泛型


AutoFac文檔

目錄

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

泛型

給定一個開放的泛型,Autofac會提供一個具體的實現。

開放的泛型類型使用泛型服務注冊,給定一個服務類型和一個實現類型

 public interface IRepository<T> { }

public class NHibernateRepository<T> : IRepository<T> { }
 

使用RegisterGeneric配置容器

 builder.RegisterGeneric(typeof(NHibernateRepository<>)).As(typeof(IRepository<>));

當檢索一個具體的服務時,會正確的得到一個具體的實現類型:

// Returns NHibernateRepository<User>
var userRepo = container.Resolve<IRepository<User>>();
 

限制

Autofac關心泛型約束。如果一個有約束的實現類型對服務不可用,那么這個實現類型將被忽略

參數映射

autofac支持一些復雜的參數映射,泛型參數可能會被重新整理以專供服務類型


免責聲明!

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



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