我發現自己寫了很多這樣的東西:很多領域具有相同屬性
[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