当前位置: 首页 > 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.dtcms.com/a/329434.html

相关文章:

  • 5.0.9.1 C# wpf通过WindowsFormsHost嵌入windows media player(AxInterop.WMPLib)
  • BGE向量算法
  • C++冒泡、选择、快速、桶排序超超超详细解析
  • 20. 有效的括号 - 力扣(LeetCode)
  • P1886 滑动窗口 /【模板】单调队列【题解】
  • 《Foundations and Recent Trends in Multimodal Mobile Agents: A Survey》论文精读笔记
  • [量化交易](1获取加密货币的交易数据)
  • 面试实战 问题三十 HTTP协议中TCP三次握手与四次挥手详解
  • 解决程序连不上RabbitMQ:Attempting to connect to/access to vhost虚拟主机挂了的排错与恢复
  • 循序渐进学 Spring (上):从 IoC/DI 核心原理到 XML 配置实战
  • DataOceanAI Dolphin(ffmpeg音频转化教程) 多语言(中国方言)语音识别系统部署与应用指南
  • Vue 3 源码解读与核心 API 分析
  • EN 62368消费电子、信息技术设备和办公设备安全要求标准
  • mybtias集成spring原理?--spring,mybatis源码解析
  • 后端Web实战-MySQL数据库
  • Si an(1)
  • Linux高级编程-framebuffer
  • 华为悦盒EC6108V9-1+4G版-盒子有【蓝色USB接口】的特殊刷机说明
  • 数据分析全景:从数据到决策的完整链路与核心要义
  • 《Python学习之基础语法2:掌握程序流程控制的艺术》
  • 【分布式 ID】一文详解美团 Leaf
  • TCP Socket 编程实战:实现简易英译汉服务
  • 函数扇入数(Fan-in)
  • NAT技术、代理服务器+网络通信各层协议
  • transforms的使用 小土堆pytorch记录
  • 深度学习流体力学:基于PyTorch的物理信息神经网络(PINN)完整实现
  • PyTorch Tensor完全指南:深度学习数据操作的核心艺术
  • C++编程学习(第21天)
  • LeetCode 分类刷题:1004. 最大连续1的个数 III
  • 【Linux】常用命令(三)