c#中的和之间有区别吗?

我已经使用两种符号中的任何一种进行了示例。 我找不到任何关于它的信息,告诉哪一个是常见的,为什么允许2个符号,以及两者之间是否存在任何微妙的差异。

有人有想法吗?

不,没有function差异。

为什么要问两种不同的款式? 第一种表示法是为了简洁。 允许使用第二种表示法,因为某些属性采用参数:

[Category("Foobar related methods.")] public void Foo() { } 

另请注意,[Serializable]实际上只是[SerializableAttribute()]的简写 – C#允许您省略Attribute后缀以及空构造函数parens。

不,没有区别。 [Serializable]只是[Serializable()]语法糖,因为如果有默认的属性构造函数,C#语法会让你错过构造函数括号。

请注意,两者都是[SerializableAttribute()]语法糖,因为属性声明也会让您错过属性后缀。

两者都使用默认的c’tor,没有任何区别。