当你在容器中有多个实现时,如何让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
科林摹