如何检查接口引用是不是是特定类[重复]

Posted

技术标签:

【中文标题】如何检查接口引用是不是是特定类[重复]【英文标题】:How to check if a interface reference is a specific class [duplicate]如何检查接口引用是否是特定类[重复] 【发布时间】:2019-12-03 08:14:36 【问题描述】:

我想知道是否有办法找出我的接口引用是否是一个特定的类。

例如,我有 DeviceInterface 参考,Playstation、PC 和 Mac 都实现了它。有没有办法查看DeviceInterface是不是PC?

我曾考虑过使用枚举来定义类型并使用它,但有没有办法避免这种情况并使用类型检查或类似的东西?

提前致谢。

【问题讨论】:

if ( obj is Mac) 怎么样? 请注意,如果您必须经常进行这样的检查,这表明您可能需要重新考虑架构。 【参考方案1】:

假设你有

DeviceInterface PcDevice = new PC();

在这种情况下,您可以这样做:

if (PcDevice is PC)  console.WriteLine("I'm a PC"); 

阅读更多here 以更好地了解 isas 运算符

【讨论】:

以上是关于如何检查接口引用是不是是特定类[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何检查单元格是不是在 Pandas 中具有特定字符 [重复]

检查firebase子项是不是具有特定值[重复]

如何检查一个字符串在 python 中是不是有多个特定字符。示例字符串“mood”显然有两个“o”字符[重复]

如何检查文件是不是被git忽略[重复]

检查对象是不是具有属性[重复]

检查逗号分隔列表是不是包含特定数字[重复]