VB.NET中的属性中的括号

时间:2016-04-27 20:20:11

标签: vb.net

我在工作中查看了一些遗留代码,并且我想知道这两个属性之间的区别是什么:

Public Property HasUsedCopies() As Boolean

Public Property HasUsedCopies As Boolean

使用VB.NET到C#代码转换器,它们是相同的:

public bool HasUsedCopies { get; set; }

括号表示什么?

1 个答案:

答案 0 :(得分:3)

如果您查看Visual Basic Language Specification under section 9.7:属性:

PropertyMemberDeclaration ::=
   [ Attributes ] [ PropertyModifier+ ] Property Identifier
      [ ( [ ParameterList ] ) ] [ As TypeName ] [ ImplementsClause ]
      LineTerminator
   [ PropertyAccessorDeclaration+ ]
   [ End Property LineTerminator ]
PropertyModifier ::= ProcedureModifier | Default | ReadOnly | WriteOnly
PropertyAccessorDeclaration ::=
   PropertyGetDeclaration | 
   PropertySetDeclaration

在这里,您可以看到参数列表以及括号中的括号都是可选的:

[ ( [ ParameterList ] ) ]

因此括号可以省略,因此两个陈述都是等价的。