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 

ref https://msdn.microsoft.com/en-us/library/dd293589.aspx

您可以在 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 中的自动实现的支持字段,因为它的声明是不可见的,因此可能会导致混淆。