c#中的类属性

时间:2014-12-12 17:41:57

标签: c# class-attributes

我需要你的帮助。

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

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

可能是我的问题不够明确或有一些错误但我真的需要一些机构来解释使用C#中的类属性进行身份验证和授权过程。

明白的例子将不胜感激。

谢谢每个人。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

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

进一步阅读:Attributes Tutorial (MSDN)

相关问题