我发现自己写了很多这样的东西:
[SameAttribute]
ClassA fieldA;
[SameAttribute]
ClassB fieldB;
[SameAttribute]
ClassC fieldC;
...
C#中是否有一种语法允许我一次标记具有相同属性的多个字段?可能有关于这种情况的编码约定会使这些代码更简洁,更易读?
编辑:为了澄清,我不希望类的每个字段都有这个属性,其中只有很多。
答案 0 :(得分:1)
否即可。您必须单独将[SameAttribute]
应用于每个字段。
答案 1 :(得分:1)
如果您希望SomeAttribute
应用于类中的所有字段,则可以将该属性应用于整个类。但是,即使允许SomeAttribute
定位类,它在执行此操作时的确切行为取决于SomeAttribute
的实现。否则,您必须单独将属性应用于每个字段。
答案 2 :(得分:1)
除了上面的其他答案,PostSharp,它允许"面向方面的编程"允许您定义将应用于类中每个成员的属性。您可以使用它来创建一个自定义属性,将所需属性应用于所有成员。
答案 3 :(得分:0)
我知道没有任何开箱即用的功能,但您可以使用像ReSharper这样的Visual Studio加载项来创建实时模板,以便在您使用某个模板时自动添加您希望使用的属性
http://www.jetbrains.com/resharper/features/code_templates.html