我在 C# 中有一个在通用字典上运行的函数:
public static string DoStuff<TKey, TValue>(Dictionary<TKey, TValue> dictionary)
{
// ... stuff happens here
}
我还有一个循环对象的函数。如果其中一个对象是 Dictionary<>,我需要将它传递给该通用函数。但是,我不知道在编译时键或值的类型是什么:
foreach (object o in Values)
{
if (/*o is Dictionary<??,??>*/)
{
var dictionary = /* cast o to some sort of Dictionary<> */;
DoStuff(dictionary);
}
}
我该怎么做呢?