Определите, является ли тип * либо * из int или Nullable <int> - PullRequest
0 голосов
/ 24 ноября 2018

Код отражения.

Я могу проверить, если myTypeObject == typeof (десятичный) ||myTypeObject == typeof (десятичный?)

Есть ли способ сделать это без повторения decimal?

Я предполагаю что-то вроде:

myRealTypeObject = myTypeObject.IsNullable() ? myTypeObject.GetTypeInsideNullability() : myTypeObject;
myRealTypeObject == typeof(decimal)

1 Ответ

0 голосов
/ 24 ноября 2018

Вы можете использовать Nullable.GetUnderlyingType, который возвращает ноль, если тип ввода не обнуляется:

var myRealTypeObject = Nullable.GetUnderlyingType(myTypeObject) ?? myTypeObject;

, если вместо этого у вас есть какой-то объект, который вы хотите проверить, вы можете просто использовать is (или as):

bool isDecimal = boxedDecimal is decimal?;
...