【问题标题】: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) 怎么样?
  • 请注意,如果您必须经常进行这样的检查,这表明您可能需要重新考虑架构。

标签: c# interface


【解决方案1】:

假设你有

DeviceInterface PcDevice = new PC();

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

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

阅读更多here 以更好地了解 is 和 as 运算符

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-27
    相关资源
    最近更新 更多