Fly*_*179 5 c# switch-statement c#-7.0
这感觉它应该很容易,但我只是看不到让它工作的方法.
Type propType = propertyInfo.PropertyType;
switch (propType)
{
case typeof(byte): // Can't do this, 'A constant value is expected'
// Do something
break;
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过
private const byteType = typeof(byte);
Run Code Online (Sandbox Code Playgroud)
然后打开它,但是由于同样的原因,这行代码无法编译.
所以,问题是:如何打开实例Type?
好吧,我最初的答案是错误的。你不能在类型开关中做到这一点(不使用when所指出的,在我看来,这对于这种用途来说是可怕的)。问题是 aType不是常量,因此不能在 switch 中使用它。
我错了,因为您没有使用实际值,而是使用Type实例。你必须继续使用if语句。