我已经将两种类型(Type1和Type2)组合成一个列表,通过创建它们都继承的接口。
List<IMyinterface> allElementsList = new List<IMyinterface>();
我现在想循环遍历allElementsList,并根据Type(Type1或Type2)做一些事情。
我已经设置了这样的代码:
public interface IMyInterface
{
void DoSomething();
}
public class Type1 : IMyinterface
{
void DoSomething();
}
public class Type2 : IMyinterface
{
void DoSomething();
}
我以为我可以做这样的事情,它会根据类型调用正确的DoSomthing()方法。
foreach(var i in allElementsList)
{
DoSomething();
}
上面的循环没有调用正确的方法。如何根据类型调用正确的方法?
答案 0 :(得分:0)
foreach(var i in allElementsList)
{
i.DoSomething();
}