C#不支持打开对象的类型。 模拟此的最佳模式是什么?
switch (typeof(MyObj)) case Type1: case Type2: case Type3:
我通常使用类型和委托的字典。
var @switch = new Dictionary<Type, Action> { { typeof(Type1), () => ... }, { typeof(Type2), () => ... }, { typeof(Type3), () => ... }, }; @switch[typeof(MyType)]();
灵活性稍差一些,因为您无法处理案例,继续操作等。但是无论如何,我很少这样做。