2012-05-23 7 views
8

これは可能ではないようですが、とにかく尋ねます... C#では、一度に複数のフィールドに単一の属性を適用できますか?C#の複数のフィールドに属性を適用できますか?

public class MyClass { 
    [SomeAttribute] 
    public int m_nVar1; 
    [SomeAttribute] 
    public int m_nVar2; 
    public int m_nVar3; 
} 

m_Var1 & m_Var2ではなく、m_nVar3の「SomeAttribute」を置くために短い手の方法はありますか?現在、各フィールドの前に属性を配置していますが、ブロック内の属性を使用してすべてのフィールドを配置するとよいでしょう。

答えて

10

はい、それは可能です:

[SomeAttribute] 
public int m_nVar1, m_nVar2; 

(しかし、明らかなタイプが同じである場合のみ)

+0

そうになってしまうかもしれません、ありがとう..しかし、タイプは確かに我々のユースケースで同じではありません。 –

+0

@Faustus種類が異なる場合、これを行う方法はありません。 –

+0

最初はMSDNで見つけられなかったので、それは私が考えたものです。 –

-1

これは仕事ができる?しかし、かなり面倒

public class CustomClass 
{ 
[CustomAttribute] 
public dynamic value { get; set; } 
} 

public class MyClass 
{ 
    public CustomClass m_nVar1, var2, var3; 
    public MyClass() 
    { 
     m_nVar1.value = (int)m_nVar1.value; 
     var2.value = (string)var2.value; 
    } 
} 
関連する問題