vb.net 可以使用 C# 属性 语法吗?
Can you use C# property syntax for vb.net?
public string Name { get; set; }
这用于 C#,但我想知道在 vb.net 中您是否可以对快速声明做同样的事情。比如可能
public property Name() As String{get; set;}
试试这个:
Public Property Name As String
您可以在 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 中的自动实现的支持字段,因为它的声明是不可见的,因此可能会导致混淆。
public string Name { get; set; }
这用于 C#,但我想知道在 vb.net 中您是否可以对快速声明做同样的事情。比如可能
public property Name() As String{get; set;}
试试这个:
Public Property Name As String
您可以在 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 中的自动实现的支持字段,因为它的声明是不可见的,因此可能会导致混淆。