Key/Valueのデータ型とは独立して機能するDictionary
拡張機能を作成しようとしています。 object
データ型を使用してパスしようとしましたが、どのタイプでも機能すると想定しています。
私のコード:
public static class DictionaryExtensionsClass
{
public static void AddFormat(this Dictionary< ?? unknow type/*object*/, ??unknow type/*object*/> Dic, ??unknow type/*object*/ Key, string str, params object[] arglist)
{
Dic.Add(Key, String.Format(str, arglist));
}
}
メソッドをジェネリックにするだけです。
public static void AddFormat<TKey>(this Dictionary<TKey, string> dictionary,
TKey key,
string formatString,
params object[] argList)
{
dictionary.Add(key, string.Format(formatString, argList));
}
keyタイプでは、値がhavestring
(または潜在的にobject
またはstring
は、文字列値を追加することを前提として、実装していると思います)。
残念ながら、ジェネリック型制約では、「string
が有効な値である値型のみを許可する」という制約を実際に表現することはできません。