我可以从父级访问子对象变量吗?

问题描述

因此,假设我有一个名为“动物”的类,该类是由“猫”继承的。 如果我现在有一系列动物,我可以以某种方式从中访问猫变量(如果动物当然也是猫)?

解决方法

您可以使用is运算符,

is运算符检查表达式的结果是否兼容 给定类型的代码,或者(从C#7.0开始)测试表达式 对抗模式。

foreach(var animal in animals)
{
   if(animal is Cat lovelyCat)
   {
      //You can use lovelyCat as object of Cat
   }
}

注意:is运算符从C#7.0版开始支持pattern matching