有以下语法之间的功能差异...合并多个属性在C#
[Foo, Bar]
public class Baz {}
...这句法?
[Foo]
[Bar]
public class Baz {}
假设每个编译时产生相同的结果,哪一个是首选的形式?
有以下语法之间的功能差异...合并多个属性在C#
[Foo, Bar]
public class Baz {}
...这句法?
[Foo]
[Bar]
public class Baz {}
假设每个编译时产生相同的结果,哪一个是首选的形式?
没有功能差异。这是一个方便和风格的问题。
大多数情况下,我倾向于在自己的行上看到属性,以便使它们分开并易于阅读。能够使用行注释//
单独删除属性也很好。
[A]
[B]
//[C] disabled
public class Foo {}
另外,因为属性的名称往往比'A'和'B'长,所以如果将它们放在一起,线条可能会变得很长! – Ken 2010-03-30 16:50:26
我通常会堆叠属性。但我也主要使用这些与WCF参数列表可能会相当大。
[OperationContract()]
[WebGet(...)]
string MyMethod(string input);
从可读性的角度来看,单独的属性是首选。
想想你在哪里传递某种类型的参数
[Foo(typeof(int)), Bar(typeof(decimal), MessageTemplate="Bar")]
的对比
[Foo(typeof(int))]
[Bar(typeof(decimal), MessageTemplate="Bar")
我也想说,如果你可以将它们合并成一个的情况下,他们应该是一个标签。
我以前见过独立写的属性,比如[Foo] [Bar],这是我自己做的。不过,我认为这真的取决于你。 – Jess 2010-03-30 16:40:22