Cannot implicitly convert 'string' to 'System.TypeCode'

前端 未结 2 1631
野性不改
野性不改 2021-01-29 00:31

Just wondering if anyone knows how to fix this error? I\'ve also used TypeCode. but still no luck. Thanks

case typeof(Nullable).ToString         


        
相关标签:
2条回答
  • 2021-01-29 01:00

    Ultimately, typeof(Nullable<int>) isn't a TypeCode, and the string representation of that isn't a TypeCode. There is no TypeCode that represents Nullable<int> specifically.

    You can use Nullable.GetUnderlyingType(type) to check that something is Nullable<T> and get the T at the same time (it returns null if not), and you can use Type.GetTypeCode on the result of that, but: I suspect that in your case, using TypeCode at all may be an error, and simply checking the type itself (if (type == typeof(int?)) {...}) may be better.

    0 讨论(0)
  • 2021-01-29 01:06

    The type you use in the switch statement has to match the type in the case statements, where currently you're comparing a TypeCode to a string.

    The TypeCode enumeration only contains values for the primitive types, and all others will be TypeCode.Object. So you can't get a specific TypeCode for the Nullable<int> type.

    0 讨论(0)
提交回复
热议问题