[DebuggerDisplayAttribute("{_name}")]
VS
[DebuggerDisplay("{_name}")]
有区别吗?一个是别人的别名吗?当使用名为foo?
的属性时,VS是否会自动检查名为fooAttribute的类答案 0 :(得分:9)
它们是相同的,无论你是否在最后写属性,C#编译器都能解析类型。
答案 1 :(得分:5)
他们是一样的。您倾向于在生成的代码中看到完全限定的名称,尤其是通过CodeDom输出的。
您可以使用其中任何一个。编译器最终会生成相同的东西。
答案 2 :(得分:5)
没有区别。命名该类的标准约定是附加单词Attribute,如:
public class AlertAttribute : Attribute {}
使用该属性时,标准惯例是消除该单词,如:
[Alert()]
来自属性(C#和Visual Basic) http://msdn.microsoft.com/en-us/library/z0w1kczw.aspx
按照惯例,所有属性名称都以单词“Attribute”结尾 将它们与.NET Framework中的其他项区分开来。但是,你 使用属性时不需要指定属性后缀 码。例如,[DllImport]相当于[DllImportAttribute], 但是DllImportAttribute是.NET中属性的实际名称 框架。