【发布时间】:2011-05-27 13:56:14
【问题描述】:
可能重复:
C# - Is there a better alternative than this to 'switch on type'?
C# 不支持切换对象的类型。
模拟这个的最佳模式是什么:
switch (typeof(MyObj))
case Type1:
case Type2:
case Type3:
【问题讨论】:
-
你能描述一下为什么你要打开一个对象的类型吗?那会有所帮助。另外,类型之间的关系是什么?它们是否都有共同的基本类型(对象除外)?它们都是类类型吗?有没有一个对象可以属于您的类型类别的两个的情况? (例如,如果它们中的两个是接口并且对象实现了这两者。)这些类型是否曾经可以为空值类型?枚举?代表?泛型委托和接口的协方差曾经是一个因素吗?
-
C# 7 现在提供了这个...模式匹配。很酷的示例参考:visualstudiomagazine.com/articles/2017/02/01/…
标签: c# switch-statement typeof