2016-04-27 35 views
0
性能

我会在工作中的一些遗留代码,我想知道的是这两个属性之间的区别:使用括号在VB.NET

Public Property HasUsedCopies() As Boolean

Public Property HasUsedCopies As Boolean

VB.NET到C#代码转换器,他们出来是一样的:

public bool HasUsedCopies { get; set; }

什么日e括号表示?

+0

我相信它们是相同的。 VB是宽容的,如果函数或属性没有提供任何参数 - 括号可以省略。 –

+2

http://stackoverflow.com/q/29514247/1070452 – Plutonix

回答

2

如果你看看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以及括号内的封闭是可选的:

所以支架可被省略,因此这两个陈述是等同的。