当前位置: 首页 > news >正文

10.反射获取静态类的属性 C#例子 WPF例子

  1. 获取属性: 使用 BindingFlags.Static | BindingFlags.Public 获取 Variable_Library 类中所有静态且公共的属性。

  2. 遍历属性: 遍历每个属性,获取其名称、类型和值。

  3. 生成结果并存储: 将属性的名称、类型和值用制表符分隔,生成字符串并添加到结果列表中。

// 创建字符串列表
List<string> result = new List<string>();// 获取属性
PropertyInfo[] fields = typeof(Variable_Library).GetProperties(BindingFlags.Static | BindingFlags.Public);// 遍历属性
foreach (PropertyInfo field in fields)
{//存储信息string fieldName = field.Name;string fieldType = field.PropertyType.Name;object fieldValue = field.GetValue(null);result.Add($"{fieldName}\t{fieldType}\t{fieldValue}");
}
  1. 创建结果列表

    • List<string> result = new List<string>();:创建一个字符串列表,用于存储最终的结果。

  2. 获取属性信息

    • PropertyInfo[] fields = typeof(Variable_Library).GetProperties(BindingFlags.Static | BindingFlags.Public);

      • 使用 typeof(Variable_Library) 获取 Variable_Library 类的类型信息。

      • 调用 GetProperties 方法,传入 BindingFlags.Static | BindingFlags.Public,获取所有静态且公共的属性信息。

  3. 遍历属性

    • foreach (PropertyInfo field in fields):遍历每个属性。

  4. 获取属性名称

    • string fieldName = field.Name;:通过 PropertyInfoName 属性获取属性的名称。

  5. 获取属性类型

    • string fieldType = field.PropertyType.Name;:通过 PropertyInfoPropertyType 属性获取属性的类型,并通过 Name 属性获取类型名称。

  6. 获取属性值

    • object fieldValue = field.GetValue(null);:调用 GetValue 方法获取属性的值。因为属性是静态的,所以传入 null

  7. 添加到结果列表

    • result.Add($"{fieldName}\t{fieldType}\t{fieldValue}");

      • 使用字符串插值将属性的名称、类型和值用制表符(\t)分隔。

      • 将拼接后的字符串添加到结果列表中。

总结

这段代码的作用是:

  • 遍历 Variable_Library 类中所有静态且公共的属性。

  • 获取每个属性的名称、类型和值。

  • 将这些信息用制表符分隔,并存储到一个字符串列表中。

http://www.lryc.cn/news/619692.html

相关文章:

  • python的滑雪场雪具租赁服务数据可视化分析系统
  • mapbox进阶,实现精灵图生成和拆分(小图任意大小,不固定),并简单使用
  • 10、系统规划与分析
  • AI编程:python测试MQ消息服务联接和消息接收
  • csp知识基础——贪心算法
  • 神经网络训练核心组件
  • 一条n8n工作流
  • electron进程间通信- 从渲染进程到主进程
  • Python open 函数详解:参数用法与文件操作实战指南
  • 美团搜索推荐统一Agent之需求分析与架构设计
  • Queue参考代码
  • CompletableFuture介绍及使用方式
  • 闹钟时间到震动与声响提醒的实现-库函数版(STC8)
  • 基于R语言的现代贝叶斯统计学方法(贝叶斯参数估计、贝叶斯回归、贝叶斯计算)实践
  • 计算机网络——协议
  • LangGraph 指南篇-基础控制
  • Linux软件编程3.(文件IO和目录IO)
  • 谷歌、facebook、tiktok广告账户多开怎么安全?亚马逊、ebay、shopee多店铺怎么做好?看看adspower工具,注册免费试用及实用技巧分享
  • 美团搜索推荐统一Agent之交互协议与多Agent协同
  • 在es中安装kibana
  • 动静态库
  • ICCV 2025 | 4相机干掉480机位?CMU MonoFusion高斯泼溅重构4D人体!
  • 内容索引之word转md工具 - markitdown
  • (cvpr2025) IceDiff: 高分辨率北极海冰预报
  • duiLib 利用布局文件显示一个窗口并响应事件
  • 基于UniApp的新大陆物联网平台温湿度检测系统开发方案
  • 在JVM跑JavaScript脚本 | Oracle GraalJS 简介与实践
  • 【AI论文】GLM-4.5:具备智能体特性、推理能力与编码能力的(ARC)基础模型
  • Avalon-MM协议
  • 浅层神经网络