Помимо архитектурной точки зрения, мне интересно, есть ли какая-либо разница в .net между свойством readonly и функцией. Являются ли свойства только концептуальными оболочками вокруг функций?
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 показывает, что нет разницы, кроме имени, но существуют ли различия на другом уровне? Является ли геттер только функцией в короткой (!?) Руке?
Edit
: wow, мне очень жаль, что я не могу отметить несколько ответов.
Первый ответ, который указывал на использование свойств для сериализации, - это путь к просветлению, так как я полностью покинул этот аспект. До этого объяснение свойства vs как "is" vs "does" считается произвольным. Теперь я больше его понимаю.
Я думаю, что консенсус в отношении того, что собственность не занимает много времени, проистекает из "is" /serializable концепция. Если моя собственность ведет переговоры с базой данных, чтобы сохранить значение "is" , она ломается ужасно.