.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

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



 

posted @   zhixin9001  阅读(337)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示