c# – 在dotnet.NET中实现自定义属性的最佳方式是什么?

c# – 在dotnet.NET中实现自定义属性的最佳方式是什么?,第1张

概述我真的不了解属性.我读过各种书籍他们的帖子,但我只是不明白. 既然我不了解他们,我也不明白如何有效地使用它们. 1)你能给我一个很好的定义什么属性是&它用于什么? 2)你可以给我一个很好的代码示例在C#如何制作和使用自定义属性? 假设你有一系列的属性,你将通过反思来走过.任何字符串可能需要验证,以检查它们不超过一定量. 然后,您可以创建一个textLength属性,使用默认的整数构造函数和整数属性 我真的不了解属性.我读过各种书籍他们的帖子,但我只是不明白.

既然我不了解他们,我也不明白如何有效地使用它们.

1)你能给我一个很好的定义什么属性是&它用于什么?

2)你可以给我一个很好的代码示例在C#如何制作和使用自定义属性?

解决方法 假设你有一系列的属性,你将通过反思来走过.任何字符串可能需要验证,以检查它们不超过一定量.

然后,您可以创建一个textLength属性,使用默认的整数构造函数和整数属性/字段.然后,您可以在类中的每个字符串属性上读取属性,并将属性值的长度与属性中指定的数字进行比较.

码:

public class TextLengthAttribute : Attribute{    private int length;    public int Length { get { retrun length; } set { length = value; } }    public TextLengthAttribute(int num) { this.length = num ; }}public class MyClass{    [TextLength(10)]    public string Property1;    [TextLength(20)]    public string Property2;}public class ClassReader{     public static voID Main()     {          MyClass example = MyClass.GetTestData();          PropertyInfo[] props = typeof(MyClass).GetPropertIEs();          foreach (PropertyInfo prop in props)          {               if (prop.ValueType == typeof(String)                {                    TextLengthAttribute[] atts =                       (TextLengthAttribute)[]prop.GetCustomAttributes(                           typeof(TextLengthAttribute),false);                    if (prop.GetValue(example,null).ToString().Length >                          atts[0].Length)                         throw new Exception(prop.name + " was too long");               }          }     }}

注意:未经测试

总结

以上是内存溢出为你收集整理的c# – 在dotnet / .NET中实现自定义属性的最佳方式是什么?全部内容,希望文章能够帮你解决c# – 在dotnet / .NET中实现自定义属性的最佳方式是什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1236345.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存