Как определить, имеет ли тип Dictionary<,>
В настоящее время единственное, что сработало для меня, - это если я действительно знаю аргументы.
Например:
var dict = new Dictionary<string, object>();
var isDict = dict.GetType() == typeof(Dictionary<string, object>; // This Works
var isDict = dict.GetType() == typeof(Dictionary<,>; // This does not work
Но словарь не всегда будет <string, object>
, так как я могу проверить, не является ли он словарем, не зная аргументов и не проверяя имя (поскольку у нас также есть другие классы, содержащие слово Dictionary
.