0

あなたの助けが必要です。

C#のクラス属性について読んだことがありますが、逆のプロセスでリフレクションを使用するときに、それらを承認認証、またはクラスに関する情報を取得するために使用することを理解しました。

しかし、実際には、認証と承認の属性がどのように機能するか、およびクラスの上に属性を配置するだけで他のことを何もしないときに、ユーザーにいくつかの制限に従うことを実際に強制する方法を理解したいと思います.クラス属性を使用した認証または認可プロセス。

私の質問は十分に明確ではないか、いくつかの間違いがあるかもしれませんが、実際には、C# でクラス属性を使用して認証と承認プロセスを説明するための体が必要です。

明確な例をいただければ幸いです。

ありがとうエブリボディ。

4

2 に答える 2

3

特定のクラスの属性を取得し、それらを反復処理できるリフレクション ライブラリがあります。

リフレクションを使用して属性値とプロパティを反復処理する方法を理解したら、それらを検証に使用する方法を概念的に理解するのはそれほど難しいことではありません。


リフレクションを使用して、オブジェクトのメソッドとプロパティを反復処理し、それらのメソッド/プロパティを呼び出すこともできます。Microsoft には、これに関する非常に優れたドキュメントがいくつかあります。これを調べたい場合は、ゴーグルするだけでかまいません。


これがサンプルプログラムです。属性を利用する

class Program
{
    static void Main(string[] args)
    {
        var something = new ClassWithAttributes();
        var attributes = typeof(ClassWithAttributes).GetCustomAttributesData();

        var attribute = (SomeAttribute) Attribute.GetCustomAttribute(typeof(ClassWithAttributes), typeof (SomeAttribute));

        Console.WriteLine(attribute.Name);
        Console.ReadKey(false);
    }
}

[Some("larry")]
class ClassWithAttributes
{

}

public class SomeAttribute : System.Attribute
{
    public string Name { get; set; }

    public SomeAttribute(string name)
    {
        this.Name = name;
    }
}

これが、そのサンプルを作成するために使用したドキュメントです

http://msdn.microsoft.com/en-us/library/sw480ze8.aspx

http://msdn.microsoft.com/en-us/library/71s1zwct%28v=vs.110%29.aspx

于 2014-12-12T17:48:57.917 に答える