Постоянно смотрю на изменяющийся код. Весь поток контролировать не могу, поэтому выбираю некоторые места по принципу Медведь на рыбалке в период нереста. Далее, привожу что увидел и как бы изменил. Рекомендую смотреть всем (даже если свой код не увидели), чтобы и самому учиться и не допустить в будущем:
- ODE0�
Тут лучше использовать ключевое слово var
foreach (var pair in _sections)
- ODE2�
С помощью Ecng.Common пишется короче
pair.Value.Join(Environment.NewLine)
- ODE4�
Тут или область видимости должна быть private или название должно быть SectionName.
- ODE5�
С помощью Ecng.Common пишется короче
"{0}={1}".Put(key, value)
- ODE7�
Лучше проверить через Contains.
- ODE8�
Старайтесь минимизироваться перехват исключений. В том случае это решается через простую проверку на существование в коллекции.
- ODE9�
Я бы заменил на ArgumentException. Он как то более осмысленный.
- Не пишите Decimal, Int64, String или Single. Понятно, что это межъязыковое название. Но лучше использовать то, что родное для C#.
- ODE10�
Стиль именования как в Win32 API. Последний умер де факто много лет назад, наследие его живет и по сей день.[biggrin]
- Добавляйте xml комментарии к самим классам, а не только его членам (видел в некоторых местах через // что есть совсем не то). И не забывайте про русский язык. В конце предложения ставится точка.
- Пользуйтесь R#. Он показывает допущенные ошибки и предупреждает заранее о неправильном коде.