インターネットから取得した次のコードがあります。の使用についてはよくわかりませんIConvertible。MSDN は次のように述べています。
「このインターフェイスは、実装型のインスタンスの値を、同等の値を持つ共通言語ランタイム型に変換するメソッドを提供します。」
何かを割り当てて、IConvertibleそれを使用している間にそれを実装型に変換できるということですか?
たとえば、以下の例では、パラメーターをキーと値のペアとして渡します。ここで、キーはstringで、値はIConvertibleです。
SqlParameter object = new SqlParameter(param.Key, param.Value)
SqlParameter objectstringテーブルまたはストアド プロシージャで宣言された型に応じて、キーと値を受け取ります。ここで正確にどのように機能しますか?
private SqlCommand GetCommand(string procedureName,
IEnumerable<KeyValuePair<string, IConvertible>> parameters)
{
foreach (var param in parameters)
{
command.Parameters.Add(new SqlParameter(param.Key, param.Value));
}
}