gpt4 book ai didi

.net - .net 中的 readonly 属性和函数有什么区别?

转载 作者:行者123 更新时间:2023-12-03 14:33:01 24 4
gpt4 key购买 nike

除了从架构的角度来看,我想知道 .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,除了名字没有区别,但在另一个层面上有区别吗? getter 只是简而言之(!?)的一个函数吗?
Edit : 哇,我真的很抱歉不能标记多个答案。

指出使用属性进行序列化的第一个答案是启蒙之路,因为我完全忽略了这方面。在此之前,将属性与功能解释为"is"与“确实”是随意的。现在,我更了解它。

我认为关于属性(property)不耗时的共识源于"is"/可序列化
概念。如果我的属性与数据库通信以存储“is”值,它会以可怕的方式中断。

最佳答案

区别在语义上比功能上更重要;属性 getter 实际上是引擎盖下的函数。不同之处在于,作为程序员,您经常期望调用属性 getter 是一种非常便宜的操作,而调用函数可能会更昂贵。

请注意,情况并非一定如此;您可以很好地实现非常轻量级的函数和非常重的属性 getter,但根据经验,属性 getter 通常应该只执行简单的获取值。

关于.net - .net 中的 readonly 属性和函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3996778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com