给定string.format格式化字符串返回类型

时间:2012-07-31 23:31:22

标签: c# .net

是否可以对string.format格式化字符串执行反向类型查找。比方说,我有{0:0.00}格式化字符串。它用于格式化小数。我可以将它传递给函数并让它返回这种情况下的类型decimal。或者通过{0:y yy yyy yy}并让它返回DateTime?

沿着这条线(Can I check if a format specifier is valid for a given data type?),但对于String.Format,我无法传递我正在寻找的类型。我想我可以列出一系列可以尝试的类型。

有什么想法吗?

编辑: 我正在读取数据库中始终以字符串形式出现的数据。我不知道它的类型。我想把它放到其他数据库中,我知道它应该是什么类型。我知道类型的方式是因为有人提供了string.format参数。它们不提供string.format参数的类型。所以我试图看看我是否可以从提供的格式中获取类型。我意识到这是一个糟糕的设计,但这就是我被迫进入的。

1 个答案:

答案 0 :(得分:0)

我从未遇到过这样的事情,绝对不可能。某些格式字符串适用于多种类型。我要说的是没有任何开箱即用的功能。

如果你看here,大多数数字格式都适用于任何数字类型,int,float,double,decimal ......当你指出只使用日期时会有一些数字格式,但是很难设计一个很好的API来描述它。

正如评论员在这里所说的那样,如果你发布的问题更广泛地反映了你想要实现的目标,你可能会得到一些更好的想法。