这些是迄今为止我见过的最常见也是唯一的模式:
[AttributeFoo]
[AttributeBar("Hello world!")]
[AttributeBaz(foo=42,bar="Hello world!")]
public class Example {}
属性语法看起来您正在调用构造函数。在 C# 支持可选参数和命名参数之前,属性的命名参数是唯一可见的区别。
C# 编译器是否允许其他任何东西?像 params
参数或对象/集合初始值设定项?
另请参阅:Applying Attributes在 MSDN 上
最佳答案
除了其他人所说的,我想指出的是,属性也可以用逗号分隔。
[AttributeFoo, AttributeBar("Hello world!"), AttributeBaz(foo=42,bar="Hello world!")]
public class Example {}
关于c# - 应用 C# 属性时允许使用什么语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8918052/