能否将属性应用于C#中的多个字段?

能否将属性应用于C#中的多个字段?,c#,custom-attributes,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上?目前,我们将属性放

这似乎不可能,但我还是会问。。。在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上?目前,我们将属性放在每个字段之前,但最好将所有字段使用属性放在块中。

是的,可能:

[SomeAttribute]
public int m_nVar1, m_nVar2;

(但显然只有在类型相同的情况下)这可能行得通,但最终可能会非常乏味

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;
    }
}

是的,谢谢。。但是在我们的用例中类型肯定不一样。@Faustus如果类型不同,就没有办法做到这一点。好的,谢谢。。。这就是我的想法,因为我一开始在MSDN中找不到它。