我需要你的帮助。
我已经阅读了 C# 中的类属性,并且我知道当您在反向过程中使用反射时,我们将它们用于授权、身份验证或获取有关类的一些信息。
但我真的想了解身份验证和授权的属性是如何工作的,以及当我们只是将属性放在类之上并且我们不做任何其他事情时,它们如何真正强制用户遵循一些限制,我无法理解流程使用类属性的身份验证或授权过程。
可能是我的问题不够清楚或有一些错误,但我真的需要一些正文来为我解释在 C# 中使用类属性的身份验证和授权过程。
清楚的例子将不胜感激。
谢谢大家。
我需要你的帮助。
我已经阅读了 C# 中的类属性,并且我知道当您在反向过程中使用反射时,我们将它们用于授权、身份验证或获取有关类的一些信息。
但我真的想了解身份验证和授权的属性是如何工作的,以及当我们只是将属性放在类之上并且我们不做任何其他事情时,它们如何真正强制用户遵循一些限制,我无法理解流程使用类属性的身份验证或授权过程。
可能是我的问题不够清楚或有一些错误,但我真的需要一些正文来为我解释在 C# 中使用类属性的身份验证和授权过程。
清楚的例子将不胜感激。
谢谢大家。
有一些反射库可让您获取特定类的属性并对其进行迭代。
一旦您了解了如何通过反射来迭代属性值和属性,那么从概念上理解如何将它们用于验证就不是一件容易的事了。
您还可以使用反射来迭代对象的方法和属性,并调用这些方法/属性。微软为此提供了一些非常好的文档,所以如果你想查看它,你可以看看它。
这是一个示例程序。利用属性
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
属性通过反射将功能应用于类。该类可以获取它所装饰的属性,并根据需要使用它们和任何参数。
进一步阅读:属性教程(MSDN)