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