Как исправить ошибку с установкой словаря, чувствительного к неправильному регистру?

Как исправить ошибку с установкой словаря, чувствительного к неправильному регистру?
Как исправить ошибку с установкой словаря, чувствительного к неправильному регистру? - pawel_czerwinski @ Unsplash

Видите ли вы проблему в этом? Потому что мы поместили туда публичный сеттер.

Так что не надо публичного сеттера.

Создайте новый класс CaseInsensitiveDictionary, который содержит приватный Dictionary, инициализированный с нечувствительностью к регистру. Выставляйте этот приватный Dictionary только через методы для взаимодействия с ним (например, add, remove и т.д.) - или предоставляйте только get доступ к нему. Вы, вероятно, захотите реализовать IEnumerable, IDictionary и другие интерфейсы.

public sealed class CaseInsensitiveDictionary<string,TValue>
{
    private Dictionary<string, TValue> _dictionary = new Dictionary<string, object>(StringComparer.InvariantCultureIgnoreCase);
   // ... constructors, add, remove, etc methods
}

Везде, где вы используете Dictionary сейчас, замените его на этот новый класс. Если вам нужно обрабатывать десериализацию JSON и т.д., вы можете предоставить методы для этого в новом классе.

Это похоже на то, что делается в .NET framework - например, Dictionary vs SortedList - новый класс создается, когда необходимо ограничение (упорядочивание).

Рекомендую посмотреть эти видео для лучшего погружения в вопрос:

Прикрепленное видео 1 - Автокорректор ошибок правописания на Python, Вебинар Яна Пиле, karpov.courses

Прикрепленное видео 2 - Как я настраиваю АНДРОИД клавиатуру на Xiaomi от А до Я 🔥


LetsCodeIt, 24 марта 2023 г., 21:06