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


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

    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

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



  • 相关阅读:
    codeforce 148D. Bag of mice[概率dp]
    poj2096 Collecting Bugs[期望dp]
    poj3744 Scout YYF I[概率dp+矩阵优化]
    hdu 5318 The Goddess Of The Moon
    hdu5411 CRB and Puzzle[矩阵优化dp]
    poj3734 Blocks[矩阵优化dp or 组合数学]
    1948 NOI 嘉年华
    教主泡嫦娥[有趣的dp状态设计]
    HDU 4455 Substrings[多重dp]
    1296: [SCOI2009]粉刷匠[多重dp]
  • 原文地址:https://www.cnblogs.com/zhixin9001/p/5008122.html
Copyright © 2020-2023  润新知