Свойство против функции (в частности .NET)

Я читал некоторые дискуссии на эту тему, и есть кое-что, чего я просто не понимаю.

Наиболее распространенный ответ выглядит так: используйте свойство ReadOnly для возврата кэшированных данных, используйте функцию для возврата не кэшированных данных. Не используйте свойство WriteOnly вообще, потому что «оно не имеет смысла».

Для этого нет причин производительности. В IL MyProperty существует какget_MyProperty а такжеset_MyProperty методы. Единственная причина, по-видимому, заключается в том, что вышеуказанный ответ должен быть принят.

Хорошо, тогда зачем вообще работать с ReadOnly Properties? Почему бы просто не сделать переменную Public вместо Private? Тогда зачемсвойства вообще? Кэшированные данные -> Открытая переменная, не кешированные данные -> Функция, запись данных -> Sub

Давайте забудем все вышеизложенное и будем использовать свойства в качестве удобной функции? Один «элемент» для получения и установки данных. Используйте здравый смысл, чтобы знать, не будет ли Get возвращать кэшированные данные (что может привести к задержке).

Я вижу, что люди более или менее согласны с тем, что недвижимость - лучший вариант. Я просто не мог понять, почему я нашел так много дискуссий, где люди выступали против свойств.

Ответы на вопрос(6)

Ваш ответ на вопрос