Как определить тип словаря сравнения в C#?
Мне нужно определить, есть ли в словаре, который я получаю в функции, регистр, не учитывающий регистр.
то есть. Словарь без учета регистра объявляется так:
var myDict = new Dictionary<string, decimal>(StringComparer.OrdinalIgnoreCase);
Когда я получаю словарь в свою функцию, я могу получить доступ к свойству.Comparer и проверить его тип - однако все, что мне кажется, - это
System.Collections.Generic.EqualityComparer<string>
Как я могу узнать, используется ли Comparer StringComparer.OrdinalIgnoreCase?
1 ответ
Решение
Вы должны проверить значение, а не тип с StringComparer.OrdinalIgnoreCase.
myDict.Comparer == StringComparer.OrdinalIgnoreCase