私はジェネリック辞書で動作するC#の関数を持っています:
public static string DoStuff<TKey, TValue>(Dictionary<TKey, TValue> dictionary)
{
// ... stuff happens here
}
オブジェクトをループする関数もあります。これらのオブジェクトの 1 つが Dictionary<> である場合、それをそのジェネリック関数に渡す必要があります。ただし、コンパイル時にキーまたは値の型が何であるかはわかりません。
foreach (object o in Values)
{
if (/*o is Dictionary<??,??>*/)
{
var dictionary = /* cast o to some sort of Dictionary<> */;
DoStuff(dictionary);
}
}
どうすればいいですか?