public string Name { get; set; }
这用于C#,但我想知道如果在vb.net中你可以做同样的快速声明。例如possibliy
public property Name() As String{get; set;}
答案 0 :(得分:3)
答案 1 :(得分:0)
您可以在vb.net
中执行此操作Public Property Name As String
' in addition, _Name is declared automatically by vb.net
但它与c#
并不完全相同public string Name { get; set; }
// _Name is not declared automatically!
因为vb.net自动实现的属性会自动创建一个名为_Name
的支持字段,而c#则不会。
vb.net中的展开属性是
Private _Name As String
Public Property Name As String
Get
Return _Name
End Get
Set(value As String)
_Name = value
End Set
End Property
和c#示例是
private string _Name;
public string Name
{
get { return _Name; }
set { _Name = value; }
}
当展开属性并显式声明支持字段时,属性是等效的。
但是,我会避免访问vb.net中自动实现的支持字段,因为它可能会导致混淆,因为它的声明是不可见的。