我有以下来自互联网的代码。我不确定使用IConvertible
。 MSDN说:
"此接口提供了将实现类型的实例的值转换为具有等效值的公共语言运行时类型的方法。"
这是否意味着,我可以为IConvertible
分配任何内容,并在使用它时将其转换为实现类型?
例如,在下面的示例中,我将参数作为键值对传递,其中键为string
,值为IConvertible
。
SqlParameter object = new SqlParameter(param.Key, param.Value)
SqlParameter object
将键设为string
,值取决于表或存储过程中声明的类型。它在这里是如何运作的?
private SqlCommand GetCommand(string procedureName,
IEnumerable<KeyValuePair<string, IConvertible>> parameters)
{
foreach (var param in parameters)
{
command.Parameters.Add(new SqlParameter(param.Key, param.Value));
}
}