在C#中,您是否可以向多个字段应用属性?

9
这似乎不可能,但我还是会问一下...在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个回答

12

可以的:

[SomeAttribute]
public int m_nVar1, m_nVar2;

(但前提是类型相同)


是的,谢谢。但在我们的使用情况下,类型肯定不会相同。 - Richard Lyle
@Faustus 在类型不同的情况下,无法进行此操作。 - Roman Starkov
1
好的,谢谢...这正是我想到的,因为我一开始在MSDN中找不到它。 - Richard Lyle

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接