9

これは不可能に思えますが、とにかく質問します... C# で単一の属性を複数のフィールドに一度に適用することは可能ですか?

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

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

4

2 に答える 2

11

はい、可能です:

[SomeAttribute]
public int m_nVar1, m_nVar2;

(ただし、明らかに型が同じ場合のみ)

于 2012-05-23T18:46:51.403 に答える
0

これは機能する可能性がありますが、かなり退屈になる可能性があります

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;
    }
}
于 2012-05-23T18:58:04.267 に答える