[英]Dependency injection and unused constructors
沒有什么可修復的。
解析時,容器調用構造函數來初始化 object。
IX x = container.Resolve<IX>();
因此,Visual Studio 不會從代碼中看到對該構造函數的任何顯式調用。
理想情況下,目標 class 應該只有一個遵循顯式依賴原則的構造函數。
public class X : IX {
private readonly IDependency dependency;
public X(IDependency dependency) {
this.dependency = dependency;
//...
}
//...
}
這將確保唯一的構造函數是容器在解析 class 時使用的構造函數。
如果有人正在積極測試他們的代碼或遵循 TDD,那么在支持測試中應該有對所用代碼的引用。
[TestMethod]
public void X_Should_Do_Something() {
// Arrange
//...
IX subject = new X(...);
// Act
var result = subject.SomeMember();
// Assert
//...
}
其中顯式調用用於安排被測對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.