Я прикрепил фотографию того, что я пытаюсь сделать. Скажем, у меня есть список T в классе
public class MyClass<T>
where T : IMyInterface
{
public List<T> list = new List<T>;
}
Теперь у другого класса есть список MyClass.
public class AnotherClass
{
public List<MyClass<IMyInterface>> list = new List<MyClass<IMyInterface>>;
}
Что такое T, который я должен поставить для MyClass? Если я положил T, то он предполагает, что все типы в этом классе одинаковы, но это не так. Если я поместил IMyInterface, я не смог бы передать IMyInterface в T при доступе к этим классам.
new AnotherClass().list.Add(new MyClass<T>());
Каков тип здесь прямо сейчас? Список в родовом типе AnotherClass - IMyInterface, но вещь, которую я хочу добавить, - это T, и я хочу быть динамичной, но они все еще находятся под IMyInterface.