Подвох от protected при наследовании в C#

Перед выходными мне попался перевод на русский язык заметки "Hide and seek". В ней рассматривалось правило сокрытия методов при наследовании класса. В примере был приведен код, где обращение к методу базового класса можно было принять за попытку обращения к закрытому методу вне его класса. Но меня заинтересовал другой момент.

Читать дальше...

IDisposable.Dispose() – определяем исключение в using

Вчера в комментариях заметки "Отложенные действия в C#" был задан вопрос про исключения. В нем подразумевалась необходимость определять в методе Dispose() нормально ли завершился код блока using. При этом сам метод вызывается до передачи управления блоку catch. Так есть ли решение?

Читать дальше...

Отложенные действия в C#

Часто изменение объекта ведет к необходимости вызова метода для обработки новых или отредактированных данных. Например, после добавления записи необходимо вызывать метод сортировки. В этом случае, при добавлении серии получится множество ненужных вызовов. Логичным решением будет отложить сортировку до окончания изменений. Как лучше это сделать? Рассмотрим один из вариантов решения данной проблемы.

Читать дальше...