У меня есть следующий код, я получаю следующее исключение: InvalidCastException: Невозможно применить объект типа "Сотрудник" к типу "EmployeeProfile".
private class Employee
{
public string Name { get; private set; }
public Employee()
{
this.Name = "employee";
}
public override string ToString()
{
return this.Name;
}
}
private class EmployeeProfile : Employee
{
public string Profile { get; private set; }
public EmployeeProfile() : base()
{
this.Profile = string.Format("{0} profile", this.Name);
}
public override string ToString()
{
return this.Profile;
}
}
public void RunTest()
{
Employee emp = new Employee();
EmployeeProfile prof = (EmployeeProfile)emp; // InvalidCastException here
System.Console.WriteLine(emp);
System.Console.WriteLine(prof);
}
Возможно, мой мозг сгорел, но я думал, что вы можете применить подтип к его базовому типу? Что мне здесь не хватает? Может быть, это отпуск... спасибо!