Как определить тип словаря сравнения в 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
Другие вопросы по тегам