我发现自己写了很多这样的东西:很多领域具有相同属性
[SameAttribute]
ClassA fieldA;
[SameAttribute]
ClassB fieldB;
[SameAttribute]
ClassC fieldC;
...
有没有在C#的语法,让我来一次与相同属性标记多个领域?可能有关于这种情况的代码约定会使这个代码变得更加冗长和更具可读性吗?
编辑:只是为了澄清,我不想每个字段的领域有这个属性,只有很多他们。
我发现自己写了很多这样的东西:很多领域具有相同属性
[SameAttribute]
ClassA fieldA;
[SameAttribute]
ClassB fieldB;
[SameAttribute]
ClassC fieldC;
...
有没有在C#的语法,让我来一次与相同属性标记多个领域?可能有关于这种情况的代码约定会使这个代码变得更加冗长和更具可读性吗?
编辑:只是为了澄清,我不想每个字段的领域有这个属性,只有很多他们。
否。您将不得不分别将[SameAttribute]
应用到每个字段。
如果您希望SomeAttribute
适用于类中的所有字段,则可以将该属性应用于整个类。但是,即使SomeAttribute
被允许定位类,它的确切行为取决于SomeAttribute
的实现。否则,您必须将该属性分别应用于每个字段。
我知道的没有什么开箱即用的,但是您可以使用像ReSharper这样的Visual Studio加载项来创建实时模板,以便在您使用特定模板时自动添加您希望使用的属性
http://www.jetbrains.com/resharper/features/code_templates.html
除了上述其他的答案,PostSharp,这允许“面向方面的编程”,可以定义将适用于每个部件的一类的属性。您可以使用它来创建一个自定义属性,将所需的属性应用于所有成员。
您目前的属性是什么? SameAttribute实际上是什么? – ken2k 2013-03-26 17:02:41
这一个:http://stackoverflow.com/questions/15621044/iterating-through-fields-with-specific-attribute – 2013-03-26 17:25:03