У меня есть два класса: MyClassA и MyClassB. MyClassB наследуется от MyClassA. Я написал метод со следующей сигнатурой
public void DoSomething(MyGeneric<MyClassA> obj);
. У меня также есть следующий обработчик событий.
public void MyEventHandler(Object source, EventArgs e)
{
//source is of type MyGeneric<MyClassB>
DoSomething((MyGeneric<MyClassA>)obj);
}
Я понимаю, что MyGeneric
не относится к тому же типу MyGeneric < MyClassB>
, но поскольку MyClassB является подклассом MyClassA, есть ли еще способ заставить эту работу работать?
Для справки, точное сообщение об ошибке:
Невозможно преобразовать объект типа 'MSUA.GraphViewer.GraphControls.TreeNode
1 [MSUA.GraphViewer.GraphControls.MaterialConfigControl]' печатать 'MSUA.GraphViewer.GraphControls.TreeNode
1 [MSUA.GraphViewer.PopulatableControl]'.