如何在C#中创建自定义属性

斜线shogdhe

我已经尝试了很多次,但是仍然无法理解自定义属性的用法(我已经经历了很多链接)。

谁能给我解释一个带有代码的自定义属性的非常基本的示例吗?

布鲁诺·布兰特(Bruno Brant)

尽管创建自定义属性的代码非常简单,但是了解什么是属性非常重要:

属性是编译到程序中的元数据。属性本身不会为类,属性或模块添加任何功能,而只是添加数据。但是,使用反射,可以利用这些属性来创建功能。

因此,例如,让我们来看一下Microsoft企业库中的验证应用程序块如果查看代码示例,将会看到:

    /// <summary>
    /// blah blah code.
    /// </summary>
    [DataMember]
    [StringLengthValidator(8, RangeBoundaryType.Inclusive, 8, RangeBoundaryType.Inclusive, MessageTemplate = "\"{1}\" must always have \"{4}\" characters.")]
    public string Code { get; set; }

从上面的代码片段中,您可能会猜到,只要更改了代码,就会始终根据Validator的规则进行验证(在示例中,至少包含8个字符,最多8个字符)。但事实是,属性什么也没做。如前所述,它仅将元数据添加到属性。

但是,企业库提供了Validation.Validate一种可以查看您的对象方法,对于每个属性,它都会检查内容是否违反了该属性所通知的规则。

因此,这就是您应该考虑的属性-一种将数据添加到代码中的方式,以后可能会被其他方法/类/等使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在C#中创建自定义事件

如何在(C#)中创建自定义光标

如何在C#中修改自定义SCCM SMS_TaskSequence_Action属性?

如何在C#中创建用于描述对象的自定义语法?

如何在C#中为流布局面板创建自定义滚动按钮

如何在C中创建自定义多个进程?

如何在C ++中创建自定义整数序列

如何在C#中制作自定义GUI

如何在C#中制作自定义颜色?

c# 身份不能创建自定义属性

如何在lineItems上创建自定义属性

C#中属性的自定义属性

如何在C#中创建自定义操作并将其绑定到Wix安装项目上

如何在C#中使用内联XAML轻松在代码隐藏中创建自定义对象

C#如何在自定义结构中创建许多类似的运算符重载

如何在LayoutAttributesForDecorationView中创建自定义布局属性?

如何在 JavaFx 中为自定义组件创建属性?

如何在Angular 2.0中创建自定义验证指令(即验证属性)?

如何在PowerShell中创建和使用自定义函数属性?

如何在wordpress中为帖子创建自定义属性

如何从自定义用户控件 WPF、C# 中的枚举自定义属性获取值?

使用C ++在Qt中创建自定义属性

如何为可以在鸿蒙中从 XML 分配的自定义组件创建自定义属性?

c#如何从自定义属性获取枚举?

C#中的自定义自动属性

如何创建自定义关键字C#

如何在cloudformation中添加自定义属性?

如何在Quasar中添加自定义属性?

如何在 html 中自定义 onmouseover 属性?