Я пытаюсь создать объект. но программа выдает ошибку:
Невозможно привести объект типа
Вот код, который генерирует мою проблему:
public class AnimalBase
{
public AnimalBase()
{
this.ArriveTime = DateTime.Now;
}
public DateTime ArriveTime { get; set; }
public int ageAnimal { get; set; }
public int poidsAnimal { get; set; }
public virtual string typeAnimal
{
get
{
return "AnimalBase";
}
}
public static AnimalBase DoSomething(string value)
{
AnimalBase animalbase = new AnimalBase();
animalbase.ArriveTime = DateTime.Now;
animalbase.ageAnimal = 1;
animalbase.poidsAnimal = 2;
return animalbase;
}
}
public class Reptile: AnimalBase
{
public override string typeAnimal
{
get
{
return "Reptile";
}
}
public Reptile():base()
{
}
}
class Program
{
static void Main(string[] args)
{
//ERROR
Reptile rep = (Reptile)AnimalBase.DoSomething("text");
Console.ReadLine();
}
}
Ошибка:
{"Невозможно привести объект типа 'ConsoleApplication1.AnimalBase' к типу 'ConsoleApplication1.Reptile'."}
Я не знаю, почему у меня такая проблема, в msdn говорится, что мне просто нужно явно указать тип.
Спасибо за вашу помощь