0

我有这段代码

 NullableConverter nullableConverter = new NullableConverter(type);
 Type baseType = nullableConverter.UnderlyingType;
 Object value = Convert.ChangeType(rule.Data, baseType);
 constant = Expression.Constant(value);

在这种情况下,类型是decimal?,但它可以是任何可为空的类型。

我需要value是 type decimal?,而不是decimal现在的 type 。问题在于,Convert.ChangeType它不适用于可空类型。所以我首先创建一个不可为空的。

如何将包含的字符串转换rule.Datatype

4

1 回答 1

0

你不能。

当可空结构被装箱时,Object它不会存储装箱的可空结构。如果结构没有值,它只会装箱null,如果它有值,它将装箱可空结构的基础值。

你不需要为它装箱,这甚至是可能的。

于 2013-02-05T15:55:24.680 回答