Я объединил два типа (Type1 и Type2) в один список, создав интерфейс, на который они оба наследуются.Метод вызова, основанный на типе
List<IMyinterface> allElementsList = new List<IMyinterface>();
теперь я хотел бы Переберите allElementsList, и в зависимости от типа (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();
}
Вышеуказанный цикл не вызывает правильный метод. Как я могу вызвать правильный метод, основанный на типе?
'i.DoSomething()'? – BlackBear
В качестве примечания стороны «* Но это не работает *» является ** не ** постановкой задачи. – Amit