在C#中自动生成的属性
在VB.NET中,可以在类中执行以下操作。在C#中自动生成的属性
Public Property MyProperty As String
此时,为你自动创建一个getter和setter,你可以引用属性定义的变量。
Me._MyProperty = "BlahBlah"
在C#中是否存在等价机制?
public string MyProperty {get; set;}
默认情况下它们都是公共存取器,你可以让他们的一个私人这样的:
public string MyProperty {get; private set;}
在C#中你不能直接引用自动实现属性的基础变量。
真的吗?这背后的设计原因是什么? – 2011-03-03 05:13:01
@Maxim:设计理由可能类似于“你没有声明它,所以你不能访问它”。只需使用默认的属性访问器 - 直接访问字段没有性能优势。 – dthorpe 2011-03-03 05:57:51
我更想着如何处理延迟加载属性,当你没有访问变量本身,但我猜它只是一样的东西。 – 2011-03-04 02:26:43
Aggghhhh,谢谢....以及如何引用局部变量本身而不是通过getter和setter? this._MyProperty =“BlahBlah”;似乎没有工作... – 2011-03-03 04:56:35
我不认为你可以指定易访问性修饰符的属性 – 2011-03-03 04:56:46
的访问者,你将不得不引用'this.MyProperty =“BlahBlah”'本身 – Kumar 2011-03-03 04:59:40