你能省略没有参数的属性的括号吗?
我注意到当我有[Serializable]
而不是[Serializable()]
,代码仍然编译。
有没有规则可以省略括号? 这是一个好习惯吗? 除非我遗漏了什么,否则它对我来说似乎更具可读性。
关于最佳实践没有特别的规则,我在subect上看到过。
一般来说,我发现手工输入其属性的人省略了空的parens,但代码生成几乎总是明确地包含它们。
是的,您可以省略括号。
[Serializable] [Serializable()] [SerializableAttribute] [SerializableAttribute()]
有4种方法可以写出完全相同的属性。
通常的做法是始终省略Attribute
部分。
empty ()
通常也会被省略,但实际上并不重要。 当然,您需要它们来设置任何参数或属性。
当您要使用的属性构造函数没有参数时,您可以错过()
,并且您不希望指定任何可选参数(属性值)。
有关详细信息,请参见此处
从语言的角度来看,省略该属性是合法的。 我不知道围绕它的任何最佳实践,但总的来说,我发现开发人员如果没有必要,就会省略它们。