我正在使用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。)
那么,有没有办法确定我是否可以在转换之前将字符串转换为类型?