📜  c# 获取所有类字段的列表 - C# (1)

📅  最后修改于: 2023-12-03 14:39:47.781000             🧑  作者: Mango

C# 获取所有类字段的列表

在C#中,可以使用反射机制来获取类的字段列表。反射机制允许我们在运行时获取类型的信息,并对其进行操作。以下是获取所有类字段的示例代码:

using System;
using System.Reflection;

public class Program
{
    public static void Main()
    {
        // 获取类的类型
        Type type = typeof(YourClassName);

        // 获取类的所有字段
        FieldInfo[] fields = type.GetFields();

        // 打印字段列表
        Console.WriteLine("|字段名|类型|可见性|静态|");
        Console.WriteLine("|---|---|---|---|");

        foreach (FieldInfo field in fields)
        {
            string fieldName = field.Name;          // 字段名
            string fieldType = field.FieldType.Name; // 字段类型
            string visibility = field.IsPublic ? "Public" : "Non-Public";  // 可见性
            string isStatic = field.IsStatic ? "Yes" : "No";  // 是否为静态字段

            Console.WriteLine($"|{fieldName}|{fieldType}|{visibility}|{isStatic}|");
        }
    }
}

以上代码中 typeof(YourClassName) 需要替换为你想要获取字段列表的类的类型。

使用反射机制需要引入 System.Reflection 命名空间。

以上示例代码通过获取类的 FieldInfo 数组,然后遍历该数组,获取字段的名称、类型、可见性和静态信息,并以Markdown格式打印出来。

请注意,只有公共字段(Public)才能被默认获取到,非公共字段(Non-Public)需要使用其他方法来获取。

希望这能对你有所帮助!