从强制班获得原始班

Ric*_*ard 0 c#

例如,我有三大类:AnimalDogCat; 在哪里Animal是抽象类,并将其属性继承到DogCat。说我的程序,我有一个用户可以输入的任意列表(我正在C#Form上执行此操作)。所以,我店所有的投入,无论他们是类Cat或者Dog,到我List<Animal>

现在,我想从中检索所述实例化的类List<Animal>并检索其原始类,无论是a Cat还是a Dog。有没有办法做到这一点?

Ian*_*cer 5

在最新的C#中,您可以执行以下操作:

Animal animal;
if (animal is Cat cat)
{
   cat.Meow();
}
Run Code Online (Sandbox Code Playgroud)