此代码在VS 2017(15.9.5)中没有给出编译错误吗?
为什么会这样?
Class BugInclass
Public Property myProp As String
Public Sub MyFct()
myProp = _myProp
End Sub
End Class
请注意,“ _ myProp”没有被贴花-就像对待它是“ myProp”一样。
答案 0 :(得分:3)
您使用的是自动属性,它们只是语法糖。您编写以下代码:
Public Property myProp As String
但是实际上要编译的是这个
Private _myProp As String
Public Property myProp As String
Get
Return _myProp
End Get
Set
_myProp = value
End Set
End Property
第二个片段是我们几年前必须为所有属性编写的内容。自动属性要方便得多,但是旧的冗长代码仍然在幕后,因此隐式支持字段仍然存在。