如何转换为 C# 中的两种类型之一?
这是我正在尝试做的事情:
public class BaseCl {}
public class Foo : BaseCl {}
public class Bar : BaseCl {}
BaseCl instance;
... some code which puts a value in the `instance`
var specificInstance = (instance as Foo) ?? (instance as Bar);
但我收到一个错误:
操作员 '??' 不能应用于“Foo”和“Bar”类型的操作数 [Assembly-CSharp] csharp(CS0019)
我在这里想念什么?如果 the也是 type或 type如果is ,我希望specificInstance
是type 。因为,如果不是,我希望是。Foo
instance
Foo
Bar
instance
Bar
instance
Foo
(instance as Foo)
null