怎么查询加载静态类里的所有静态变量
时间: 2024-10-27 09:03:46 浏览: 13
在C#中,你可以使用反射API来查询和访问静态类中的静态成员,包括变量。以下是一个简单的步骤来获取静态类中的所有静态变量:
```csharp
using System;
using System.Reflection;
class MyClass
{
public static int StaticVar1 = 10;
public static string StaticVar2 = "Hello";
}
public class Program
{
public static void Main()
{
Type myClassType = typeof(MyClass);
// 获取所有的公共静态字段(不包括属性)
FieldInfo[] fields = myClassType.GetFields(BindingFlags.Static | BindingFlags.Public);
foreach (FieldInfo field in fields)
{
Console.WriteLine($"Static Variable Name: {field.Name}, Value: {field.GetValue(null)}");
}
}
}
```
这段代码首先导入`System`和`System.Reflection`命名空间,然后创建一个名为`MyClass`的静态类。在`Main`方法中,我们使用`typeof`运算符获取`MyClass`的类型信息,然后调用`GetFields`方法,传入`BindingFlags.Static`和`BindingFlags.Public`参数,这表示我们要查找的是静态且公有的字段。
遍历`FieldInfo`数组,我们可以获取每个字段的名称和值。
阅读全文