如何筛选或基于属性查找属性 [英] How to filter or find properties based on attributes
本文介绍了如何筛选或基于属性查找属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个类如下:
公共类Foo
私人_Name作为字符串
&其中; ShowInDisplay()> _
公共属性Name()作为字符串
得到
返回_Name
最终获取
设置(BYVAL值作为字符串)
_Name =价值
结束设定
高端物业
私人_Age作为字符串
公共财产年龄()作为字符串
得到
返回_Age
最终获取
设置(BYVAL值作为字符串)
_Age =价值
结束设定
高端物业
私人_ContactNumber作为字符串
&其中; ShowInDisplay()> _
公共财产ContactNumber()作为字符串
得到
返回_ContactNumber
最终获取
设置(BYVAL值作为字符串)
_ContactNumber =价值
结束设定
高端物业
末级
我只需要工作只具有特定属性,例如这些属性:ShowInDisplay
公用Sub DisplayOnlyPublic(BYVAL Someobject为Foo)
对于每个_property作为东西Someobject.Properties
如果_Property.HasAttribute(ShowInDisplay),然后
Console.WriteLine(_Property.Name&安培;=&安培; _Property.value)
结束如果
下一个
结束小组
解决方案
修改:已更新正确的VB 的GetType()
电话:
如果_Property.IsDefined(的GetType(ShowInDisplayAttribute),真)然后
I have a class as follows
Public Class Foo
Private _Name As String
<ShowInDisplay()> _
Public Property Name() As String
Get
Return _Name
End Get
Set(ByVal value As String)
_Name = value
End Set
End Property
Private _Age As String
Public Property Age() As String
Get
Return _Age
End Get
Set(ByVal value As String)
_Age = value
End Set
End Property
Private _ContactNumber As String
<ShowInDisplay()> _
Public Property ContactNumber() As String
Get
Return _ContactNumber
End Get
Set(ByVal value As String)
_ContactNumber = value
End Set
End Property
End Class
I just need to work on only those properties which has a specific attribute eg:ShowInDisplay
Public Sub DisplayOnlyPublic(ByVal Someobject As Foo)
For Each _Property As something In Someobject.Properties
If _Property.HasAttribute("ShowInDisplay") Then
Console.WriteLine(_Property.Name & "=" & _Property.value)
End If
Next
End Sub
解决方案
Edit: Updated with correct VB GetType()
call:
If _Property.IsDefined(GetType(ShowInDisplayAttribute), True) Then
这篇关于如何筛选或基于属性查找属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文