Как работает IConvertible

У меня есть следующий код, который я получил из Интернета. Я не уверен насчет использования 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));
  }
}

0 ответов

Другие вопросы по тегам