【发布时间】:2012-02-28 05:18:15
【问题描述】:
我知道标题令人困惑,所以我会尝试更好地解释。这基本上是我想在方法中做的事情:
if (record["id"] != DBNull.Value) _id = Convert.ToInt32(record["id"]);
else id = -1;
我希望这适用于我存储在数据库中的多种类型。 (因此,如果它是一个字符串,它会将其转换为一个字符串等等)。任何方法都可以,我试图用一种方法来做到这一点。我已经做到了这一点,但 C# 不会自动将 int 转换为 object。想法?
private void Load(ref object var, object obj, object def)
{
if (var is int)
{
var = Convert.ToInt32(obj);
}
}
int _id;
Load(ref _id, record["id"], -1);
澄清一下,我的错误是“无法从 ref int 转换为 ref 对象”。 感谢您的帮助。
【问题讨论】:
标签: c# object methods parameters type-conversion