5
我測試的對象是這樣的:是否有可能看到一個對象是否繼承IDictionary而不使用泛型類型參數?
if (item is IDictionary<object, object>)
但是,這並不符合所有類型<sting, object>, <int, string>
等其他組合的...
我只是想知道,如果它已經實現的接口,無論它使用的是什麼泛型類型。
我發現了一個例子說,這是有可能做這樣的事情:
dictionary.GetType().GetInterfaces().Any(x => x.GetGenericTypeDefinition == typeof(IDictionary<>));
但我還是要指定類型的簽名,或者它是無效的。
是否有可能做一個語句來檢查接口而不必指定類型?
根據你的最終需求,如果你想知道你是否有字典而不是特定的IDictionary ,你可以檢查非泛型的IDictionary,而不是字典也實現。這個解決方案將取決於你的使用案例。 –