【发布时间】:2019-01-30 00:08:10
【问题描述】:
在 VB.NET 中,我注意到我可以通过使用 Property 关键字后跟属性名称和数据类型直接创建属性,而无需 getter 和 setter 方法,而我不能这样做C#!
尽管如此,这个属性似乎被封装了,就好像我把它放在了一个 getter 和 setter 方法中一样!
请看下面的截图。
在上面的屏幕截图中,我所说的属性是 number1,我创建了另一个属性,封装在名为 number2 的 getter 和 setter 方法中。
然后,我在 Class2 中创建了 Class1 的新实例,但我注意到 number1 属性直到我创建了它的类的实例后才公开就像它被封装在像 number2 属性这样的 getter 和 setter 方法中一样!
有什么解释吗?
【问题讨论】:
-
它甚至创建了一个带有前缀_的隐藏变量
-
“我注意到 number1 属性直到我创建了它的类的实例后才公开” - 你能详细说明你的意思吗?在您创建其父类的实例之前,不会公开任何成员(属性、字段、方法或其他)除非您将它们标记为
Shared。 -
感谢您的澄清,我以前认为 Getter & Setter 的作用是在创建其类的实例之前隐藏类字段,以免暴露给应用程序的其余部分。跨度>
标签: c# vb.net oop properties getter-setter