> — метод свойства может привести к исключению, а при доступе к полям
> исключений не бывает; неужели? -> читать любую книжку по c#
> — метод свойства может выполнятся довольно долго, а доступ к полям выполняется
> моментально.
-> читать что можно делать в свойствах, чего нельзя делать в полях. ->смотреть профайлером, сколько это "довольно долго". время обращения к полю равно времени вызова get-функции, соответственно если это долго - не используем поля, а если нужны проверки, логгирование, обработка ошибок и др -> с get set функциями будет не быстрее
>Часто свойства используют для синхронизации потоков, но это может привести
> к приостановке потока на неопределенное время — поэтому свойства не следует
> использовать для этих целей — в такой ситуации лучше задействовать метод.
-> читать про immutable типы данных и правильные способы организации работы с потоками и тасками
> Кроме, того если предусмотрен удаленный доступ к классу (например, если он
> наследует System.MarshalByRefObject), вызов метода свойства выполнится очень медленно,
> поэтому предпочтение следует отдать методу. Я считаю, что в классах, производных
> от MarshalByRefObject, никогда не следует использовать свойства;
это слишком старый и низкоуровневый способ взаимодействия с классами, читать C# 4
> — при вызове несколько ряд подряд метод свойства может возвращать разные значения,
> а поле возвращает одно и тоже значение.
> В классе System.DateTime есть
> неизменяемое свойство Now ...
а вы хотели чтобы Now возвращал "yesterday?:)"
> — метод свойства может создавать наблюдаемые стороние эффекты, а при доступе к
> полю это невозможно...
нло прилетит?
советую все-таки почитать Рихтера 2010 года выпуска и все-таки попробовать что-либо написать самому и попрофилировать...
П.С. Со времен CLR 2 много чего изменилось))