Помимо архитектурной точки зрения, мне интересно, есть ли какая-нибудь разница в .net между свойством только для чтения и функцией. Являются ли свойства лишь концептуальной оболочкой функций?
Private m_Property As String
Public ReadOnly Property PropertyGet() As String
Get
Return m_Property
End Get
End Property
Public Function FunctionGet() As String
Return m_Property
End Function
Дизассемблирование IL показывает, что есть ' Нет никакой разницы, кроме названия, но есть ли различия на другом уровне? Геттер - это просто функция в короткой (!?) Руке?
Правка
: вау, мне очень жаль, что я не смог отметить несколько ответов.
Первый ответ, в котором указывалось на использование свойств для сериализации, был путем к просветлению, поскольку я полностью оставил это аспект наружу. До этого объяснение свойства против функции как «есть» против «действительно» казалось произвольным. А теперь я еще раз его рассмотрю.
Я думаю, что консенсус относительно того, что свойство не требует много времени, проистекает из «is» / serializable
Первым ответом, который указал на использование свойств для сериализации, был путь к просветлению, поскольку я полностью исключил этот аспект. До этого объяснение свойства против функции как «есть» против «действительно» казалось произвольным. А теперь я еще раз его рассмотрю.
Я думаю, что консенсус относительно того, что свойство не требует много времени, проистекает из «is» / serializable.
Первым ответом, который указал на использование свойств для сериализации, был путь к просветлению, поскольку я полностью исключил этот аспект. До этого объяснение свойства против функции как «есть» против «действительно» казалось произвольным. А теперь я еще раз его рассмотрю.
Я думаю, что консенсус относительно того, что свойство не требует много времени, проистекает из «is» / serializable. концепция. Если мое свойство обращается к базе данных для хранения значения «is», оно ломается ужасным образом.