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

发布于:2025-08-14 ⋅ 阅读:(16) ⋅ 点赞:(0)
  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 类中所有静态且公共的属性。

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

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


网站公告

今日签到

点亮在社区的每一天
去签到