當你在容器中有多個實現時,如何讓Windsor城堡在運行時選擇正確的界面接口。多個接口注入城堡windsor
例如,假設我有一個簡單的名爲IExamCalc的界面,它執行計算以確定某人在該考試中的表現。
不,我們有幾個實現例如該像波紋管,
public interface IExamCalc
{
int CalculateMark(ExamAnswers examAnswers)
}
public class WritenExam : IExamCalc
{
public int CalculateMark(ExamAnswers examAnswers)
{
return 4;
}
}
public class OralExam : IExamCalc
{
public int CalculateMark(ExamAnswers examAnswers)
{
return 8;
}
}
public class ExamMarkService
{
private IExamCalc _examCalc;
public ExamMarkService(IExamCalc examCalc)
{
_examCalc = examCalc;
}
public int[] CalculateExamMarks(ExamAnswers[] examAnswers)
{
IList<int> marks = new List<int>;
foreach(ExamAnswers examanswer in examaAnswers)
{
marks.Add(_examCalc.CalculateMark);
}
}
}
說出ExamMarkService正在通過Windor resloved我怎樣才能確保正確實施是在構造函數注入,這是一個例子多租戶問題?
希望所有讓SENCE
科林摹