我发现自己写了很多这样的东西:
[SameAttribute]
ClassA fieldA;
[SameAttribute]
ClassB fieldB;
[SameAttribute]
ClassC fieldC;
...
C# 中是否有允许我一次标记具有相同属性的多个字段的语法?可能有关于这种情况的编码约定可以使该代码不那么冗长且更具可读性吗?
编辑:澄清一下,我不希望类的每个字段都具有此属性,它们有很多。
我发现自己写了很多这样的东西:
[SameAttribute]
ClassA fieldA;
[SameAttribute]
ClassB fieldB;
[SameAttribute]
ClassC fieldC;
...
C# 中是否有允许我一次标记具有相同属性的多个字段的语法?可能有关于这种情况的编码约定可以使该代码不那么冗长且更具可读性吗?
编辑:澄清一下,我不希望类的每个字段都具有此属性,它们有很多。
没有。您必须[SameAttribute]
单独将 应用于每个字段。
如果要SomeAttribute
应用到类中的所有字段,可以将属性应用到整个类。但是,即使SomeAttribute
允许以类为目标,其在这样做时的确切行为也取决于SomeAttribute
. 否则不,您必须将属性单独应用于每个字段。
除了上面的其他答案之外,PostSharp允许“面向方面的编程”,它允许您定义将应用于类中每个成员的属性。您可以使用它来制作自定义属性,将您所需的属性应用于所有成员。
据我所知,没有任何开箱即用的功能,但是您可以使用像 ReSharper 这样的 Visual Studio 插件来创建实时模板,以便在您使用某个模板时自动添加您希望使用的属性
http://www.jetbrains.com/resharper/features/code_templates.html