Приведение интерфейса к общему классу (с наследованием) - PullRequest
0 голосов
/ 05 марта 2019

У меня есть следующая структура в коде:

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...