首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >合并两个PropertyInfo

合并两个PropertyInfo
EN

Stack Overflow用户
提问于 2016-06-08 14:48:58
回答 1查看 29关注 0票数 0

我的命名空间Dimension中有两个结构和一个类。这些结构为Dimension.DerivedDimension.Basis。这门课叫Exponent。我重写了类的函数ToString(),以便在结构Dimension.Derived中获得属性的DisplayNameAttribute

代码语言:javascript
复制
Public Overrides Function ToString() As String

     Dim oType As Type
     oType = GetType(Dimension.Derived)

     Dim colMemberInfo() As PropertyInfo = oType.GetProperties

     For Each oMemberInfo In colMemberInfo
         If Me = oMemberInfo.GetValue(oMemberInfo) Then
             Dim de As New Dimension.Exponent
             de = oMemberInfo.GetValue(oType)
             Dim attr() As DisplayNameAttribute = DirectCast(oMemberInfo.GetCustomAttributes(GetType(DisplayNameAttribute), False), DisplayNameAttribute())
             If attr.Length > 0 Then
                 Return attr(0).DisplayName
             Else
                 Exit For
             End If
         End If
     Next

     Return Nothing

 End Function

这很好,但它应该搜索这两种结构。因此,我将第一行改为

代码语言:javascript
复制
Dim oType1, oType2 As Type
oType1 = GetType(Dimension.Derived)
oType2 = GetType(Dimension.Basis)

Dim colMemberInfo() As PropertyInfo = oType1.GetProperties And oType2.GetProperties

但这会引发一个异常,即And-Operator没有为PropertyInfo声明。当然,对于另一个结构,我可以重复for -每个循环,但这不是目的。我该怎么做才能合并这些PropertyInfos?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-08 15:07:20

And是一个布尔运算符。是真值/假值。您希望从这两种类型中获得一个PropertyInfo列表,所以请尝试:

代码语言:javascript
复制
Dim properties as List(Of PropertyInfo) = New List(Of PropertyInfo)
properties.AddRange(oType1.GetProperties())
properties.AddRange(oType2.GetProperties())
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37705890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档