.NET自定义属性属性?
发布时间:2020-12-17 07:14:14 所属栏目:百科 来源:网络整理
导读:编辑: 我最好改写一下: 如何将Class属性的GET实现转换为/使用自定义属性? (我已经为属性添加了即时变量(classname,propertyname),但我宁愿自动获取这些变量.) Public Class CustomClass CustomAttributeClass(ClassName:="CustomClass",PropertyName = "S
编辑:
我最好改写一下: 如何将Class属性的GET实现转换为/使用自定义属性? (我已经为属性添加了即时变量(classname,propertyname),但我宁愿自动获取这些变量.) Public Class CustomClass <CustomAttributeClass(ClassName:="CustomClass",PropertyName = "SomeProperty")> _ Public Property SomeProperty() as String Get() as String //This implementation should be handled by the attribute class End Get Set(Byval value as String) Me._someProperty = value End Set End Property End Class 老问题: 我想为类创建自定义属性属性.我可以创建一个派生自Attribute的类,并使用该属性“标记”该属性,但是从哪里开始? 我有一个存储库,我可以根据属性值快速获取数据.我想在属性中概括属性的行为,但我不知道如何从这里开始……任何帮助都会被大大接受! Public Class CustomDataAttribute : Inherits Attribute Private _name As String Public Sub New(ByVal name As String) Me.Name = name End Sub Property Name() As String Get Return _name End Get Set(ByVal value As String) Me._name = value End Set End Property End Class Public Class CustomClass <CustomDataAttribute(Name:="CustomField")> _ Public Property CustomField() End Property End Class 解决方法
您将不得不使用Reflection来发现属性.在您的情况下,您将从PropertyInfo.GetCustomAttributes()获得它.
使用属性的难点在于找到合适的执行模型来实际使用它们.类似于编译器,设计器或序列化对象的类是明显的.属性的可用性从那里迅速下降.当您尝试使用实际需要虚拟属性的属性时,几乎总是错误的选择.检索属性值非常昂贵,比检索属性值要贵许多个数量级.只有当反射代码在人工时运行时(如编译器)或者与利益或开销(在任何类型的I / O操作中常见)相比成本微不足道时,才使用它们. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- objective-c – 在Xcode中查看NSData内容
- RegEx 快速掌握最基本的正则语法
- 使用GDataXML解析XML文档
- c – .c_str()怪异吗?数据变化没有押韵或原因?
- ruby-on-rails – OS X Mavericks,无法安装libxml-ruby gem
- 如何将多个日期跨度合并/拆分为一个时间轴(Oracle 11g)?
- c# – 如何在不使用try catch的情况下处理异常?
- cocos2dx 内置粒子简单应用
- ruby-on-rails – 在Rails资源管道(application.js)中排除*
- RealARM210 V3.2硬件版本 nand flash地址分配明细