.NET 获取类内成员的名称,以字符串形式显示

来源:互联网 发布:淘宝靠谱的宠物店 编辑:程序博客网 时间:2024/06/10 06:27

需要做一个功能,显示类内的属性名和对应的值。比如有类

Public Class SupervisedParams
    Public TestMode As string
    Public Time As String
    Public TorquePV As Single
    Public PrsPV As Single
End Class

这里用了公共字段代替属性,因为VB.NET没有自动属性,必须处理get set 实在麻烦。

需要显示:TorquePV =2.3    

                   PrsPV =3.2        之类。

但一般只能获取类内字段的值,却不能取得这个字段的字符串形式。

后来查到了方法,测试代码如下:

【取得字段名的字符串形式】

    Public Shared Sub WriteLine(ByVal params As SupervisedParams)
        Dim type As Type = params.GetType

        Dim m() As MethodInfo = type.GetMethods【获取方法名】
        For Each item In m
            Debug.Print(item.Name)
        Next

        Dim pi() As PropertyInfo = type.GetProperties【获取属性名】
        For Each item In pi
            Debug.Print(item.Name)
        Next

        Dim fi() As FieldInfo = type.GetFields【获取字段名】
        For Each item In fi
            Debug.Print(item.Name)
            Debug.Print(item.GetValue(params))【还可以方向取得该字段的值】
        Next
    End Sub


MethodInfo 等几个关键类属于System.Reflection

传说中的反射啊,好高大上。等忙完了系统学习学习。




0 0