你可以将属性应用于C#中的多个字段吗?

时间:2012-05-23 18:45:05

标签: c# custom-attributes

这似乎不太可能,但无论如何我都会问......在C#中是否可以同时将单个属性应用于多个字段?

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

是否有一种简单的方法将“SomeAttribute”放在m_Var1& m_Var2,但不在m_nVar3上?目前,我们将属性放在每个字段之前,但是将所有字段放在块中使用属性会很好。

2 个答案:

答案 0 :(得分:10)

是的,有可能:

[SomeAttribute]
public int m_nVar1, m_nVar2;

(但显然只有类型相同时)

答案 1 :(得分:-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;
    }
}