c# - 从演员班获取原始班
问题描述
例如,我有三个类:Animal
,Dog
和Cat
; whereAnimal
是一个抽象类,并将其属性继承到Dog
and Cat
。在我的程序上说,我有一个用户可以输入的任意内容列表(我在 C# Form 上执行此操作)。因此,我将所有输入(无论它们是属于类Cat
还是Dog
)存储到我的List<Animal>
.
现在我想从中检索所述实例化类List<Animal>
并检索其原始类,无论它是 aCat
还是 a Dog
。有没有办法做到这一点?
解决方案
在最新的 C# 中,您可以执行以下操作:
Animal animal;
if (animal is Cat cat)
{
cat.Meow();
}
推荐阅读
- dart - 如何向用户询问回调函数
- azure - 如何有条件地在 ARM 模板中包含dependOn
- javascript - 你如何访问 react-id-swiper 活动幻灯片 ID?
- url - 根据服务器动态改变 websocket URL
- aws-sdk-cpp - 针对 AWS C++ 开发工具包的 Lambda 调用请求设置有效负载
- node.js - 使用`docker-compose run`时无法调试,但`docker-compose up`有效
- python - antlr4 python 3 从 plsql 语法打印或转储令牌
- python - python - 标签不在[索引]中
- apache-kafka - 哪个 Kafka Consumption 产品最适合从所有 TopicPartition 中采样数据?
- python-2.7 - 从 Alpine Repository 安装了一个 python 包,但在 python 中不可用