【发布时间】:2009-01-18 06:37:58
【问题描述】:
我想做的是:
bool Convert( out Object output, Object source)
{
// find type of output.
// convert source to that type if possible
// store result in output.
return success
}
有可能吗?
显然,有一个强大的大规模“if”构造可以工作,但这需要为每种可能的数据类型编写一个 if 块。即使假设我们将其限制为原语和字符串,它仍然是一大块代码。我正在考虑一些更具反思性的事情。
顺便说一句:在浏览 api 时,我遇到了 Convert.IsDBNull() 方法,这将为我节省很多
if ( !databasefield.GetType().Equals( DBNull.Value ) )
为什么以 G-d 的名义在 Convert 中?为什么不 DBNull.IsDBNull() ?
【问题讨论】: