我怎么知道我是否无法使用TypeConverter.ConvertFromInvariantString将字符串转换为对象

时间:2016-09-21 17:47:02

标签: c# typedescriptor

我正在使用import Text.Pandoc.JSON main = toJSONFilter compactifyList compactifyList :: Block -> Block compactifyList blk = case blk of (BulletList items) -> BulletList $ map compactifyItem items (OrderedList attrbs items) -> OrderedList attrbs $ map compactifyItem items _ -> blk compactifyItem :: [Block] -> [Block] compactifyItem [Para bs] = [Plain bs] compactifyItem item = item 将字符串转换为具体类型。

某些转化失败并通过异常,我想在尝试转换之前了解失败。

将失败的代码示例:

TypeConverter.ConvertFromInvariantString

我不想拥有的代码:

var tc = TypeDescriptor.GetConverter(typeof(int));
var val = tc.ConvertFromInvariantString("1.5");

我不想使用try \ catch块作为解决方案,因为我不想在操作之前获得属性列表。

我注意到var canConvert = CanConvert(tc, "1.5", typeof(int)); if(canConvert) { var val = tc.ConvertFromInvariantString("1.5"); ...... } 方法不起作用(当CanConvertFrom方法成功时将float转换为double时返回false。)

那么,有没有办法确定我是否可以在转换之前将字符串转换为类型?

0 个答案:

没有答案