生成多个属性?

时间:2010-04-12 19:30:39

标签: c# attributes custom-attributes

ATM我无法安静想象这将如何运作。我相信它可以做到。我注意到在我的属性中使用了一个模式,我总是使用3个特定的属性。以下面的例子为例

    [MyAttr(4, @"a"),
     MyAttr(41, "b"),
     MyAttr(45, "ab")]

我的要复杂得多,但我想用一个更多的参数定义一个属性来生成上面的数据。我怎么能这样做?假设我的一个属性看起来像这样

MyAttr2(4, 41, "a", "b"); //4+41=45, "a"+"b" = "ab"

如何使用MyAttr2生成应用于类的3 MyAttr?

1 个答案:

答案 0 :(得分:1)

C#编译器无法在程序集元数据中将单个属性条目转换为多个。但是,您可以对属性进行建模,例如将其他属性信息作为属性(或集合)公开。但是,子信息不能通过反射作为独立属性直接访问。