У меня есть следующая структура в коде:
AController<S> : IScreenController where T : IProperties {}
FOOTypeControllers<T> : AController<T> where T : IScreenProperties
{
}
MyFooTypeController : FOOTypeControllers<MyProperties>
{
}
class MyProperties : IProperties {}
Что я хочу сделать, так это привести тип MyFooTypeController к FOOTypeControllers, но я получаю недопустимую ошибку преобразования.
Почему это не разрешено, поскольку оно наследуется от класса.
Это именно то, как я пытаюсь разыграть:
void MyFucntion(IScreenController screenController)
{
FOOTypeControllers<IProperties> screenControl = (FOOTypeControllers<IProperties>) screenController
}
Каждый подкласс FOOTypeControllers также будет использовать свой подкласс Iproperties.