📅  最后修改于: 2023-12-03 15:00:15.152000             🧑  作者: Mango
在C#中,Type.GetFields()
方法是用于获取类或结构体中定义的公共字段的成员的反射方法。它返回一个FieldInfo
类型的数组,每个元素表示一个指定类型的公共字段。
public virtual FieldInfo[] GetFields();
此方法不接受任何参数。
该方法返回一个FieldInfo
类型的数组,存储了指定类型的所有公共字段的信息。
下面的示例演示如何使用Type.GetFields()
方法获取一个类中的字段信息:
using System;
using System.Reflection;
public class MyClass
{
public int a;
public string b;
private bool c;
protected double d;
}
class Example
{
static void Main()
{
Type myType = typeof(MyClass);
FieldInfo[] fields = myType.GetFields();
foreach (FieldInfo field in fields)
{
Console.WriteLine(field);
}
}
}
输出:
System.Int32 a
System.String b
注意,在这个示例中,MyClass
类中有一个private
字段和一个protected
字段,但Type.GetFields()
方法只返回公共字段(即public
字段),因此只输出了a
和b
。
Type.GetFields()
方法是一个非常有用的反射方法,它使我们能够获取并操作指定类型中的公共字段。这个方法返回一个FieldInfo
类型的数组,每个元素代表一个公共字段。它是反射编程的基础之一,值得我们深入学习和掌握。