我遇到过使用这两种表示法中的任何一种的示例。我找不到任何关于它的东西,为什么允许使用两个符号,以及两者之间是否有任何细微的差异。
有谁有主意吗?
发布于 2009-11-20 22:11:29
不,没有功能上的区别。
你会问,为什么会有两种不同的风格?为简洁起见,允许使用第一个表示法。允许使用第二个表示法,因为某些属性需要参数:
[Category("Foobar related methods.")]
public void Foo()
{
}还要注意,Serializable实际上只是SerializableAttribute()的简写-- C#允许您省略属性后缀以及空的构造函数括号。
发布于 2009-11-20 22:12:21
不,没有区别。[Serializable]只是[Serializable()]的语法糖,因为如果有默认的属性构造器,C#语法允许您省略构造器括号。
请注意,这两者实际上都是[SerializableAttribute()]的语法糖,因为属性声明也会让您错过属性后缀。
发布于 2009-11-20 22:10:48
两者都使用默认的c‘’tor,没有任何区别。
https://stackoverflow.com/questions/1770643
复制相似问题