У меня есть базовый класс и производный класс как нижепочему этот downcast терпит неудачу в C#?
public class BaseClass
{
public int No { set; get; }
}
public class Derived : BaseClass
{
public string Name { set; get; }
}
когда я создаю экземпляр базового класса и хочу его обратное приведение производного класса возвращает InvalidCastOperation.
class Program
{
static void Main(string[] args)
{
BaseClass bas = new BaseClass();
Derived derived = (Derived)bas; // invalid cast operation. why?
System.Console.WriteLine();
}
}
Мне интересно, почему это не работает? и является ли решение для реализации этого запроса?
Возможный дубликат http://stackoverflow.com/questions/1524197/downcast-and-upcast –
Это должно быть названо [* * приведение к базовому типу] (http://stackoverflow.com/q/6343301/1997232). – Sinatr
Все производные BaseClass, но не все BaseClass производны – Nkosi