2

ATM私はこれがどのように機能するかを静かに想像することはできません。私はそれができると確信しています。属性でパターンが使用されていることに気付きました。常に3つの特定の属性を一緒に使用しています。例として以下を取り上げます

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

私の場合ははるかに複雑ですが、上記のデータを生成するために、より多くのパラメーターを使用して1つの属性を定義したいと思います。どうすればいいですか?私の1つの属性は次のようになります

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

MyAttr2を使用してクラスに適用する3つのMyAttrを生成するにはどうすればよいですか?

4

1 に答える 1

1

C#コンパイラは、アセンブリメタデータで単一の属性エントリを複数の属性エントリに変換することはできません。ただし、追加の属性情報をプロパティ(またはコレクション)として公開するような方法で属性をモデル化することはできます。ただし、子情報には、独立した属性としてリフレクションを介して直接アクセスすることはできません。

于 2010-04-12T19:48:16.647 に答える