0

我需要你的帮助。

我已经阅读了 C# 中的类属性,并且我知道当您在反向过程中使用反射时,我们将它们用于授权身份验证或获取有关类的一些信息。

但我真的想了解身份验证和授权的属性是如何工作的,以及当我们只是将属性放在类之上并且我们不做任何其他事情时,它们如何真正强制用户遵循一些限制,我无法理解流程使用类属性的身份验证或授权过程。

可能是我的问题不够清楚或有一些错误,但我真的需要一些正文来为我解释在 C# 中使用类属性的身份验证和授权过程。

清楚的例子将不胜感激。

谢谢大家。

4

2 回答 2

3

有一些反射库可让您获取特定类的属性并对其进行迭代。

一旦您了解了如何通过反射来迭代属性值和属性,那么从概念上理解如何将它们用于验证就不是一件容易的事了。


您还可以使用反射来迭代对象的方法和属性,并调用这些方法/属性。微软为此提供了一些非常好的文档,所以如果你想查看它,你可以看看它。


这是一个示例程序。利用属性

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 回答
1

属性通过反射将功能应用于类。该类可以获取它所装饰的属性,并根据需要使用它们和任何参数。

进一步阅读:属性教程(MSDN)

于 2014-12-12T17:58:59.533 回答