📅  最后修改于: 2023-12-03 15:00:15.166000             🧑  作者: Mango
在C#编程语言中,Type.GetMembers()方法是用于获取某个类型(Type)的成员(Member)信息的方法。成员可以是字段(Field)、方法(Method)、构造函数(Constructor)、属性(Property)等。
Type.GetMembers()方法的语法如下:
public MemberInfo[] GetMembers();
Type.GetMembers()方法没有参数。
Type.GetMembers()方法返回一个包含该类型所有成员信息的数组,数组中的每个元素都是MemberInfo类型的对象。
下面是一个使用Type.GetMembers()方法的示例,我们定义了一个名为Person的类,该类包含了三个字段、两个方法和一个属性。在程序中,我们使用Type.GetMembers()方法获取Person类的所有成员,并将这些成员打印出来。
using System;
using System.Reflection;
namespace Example
{
class Person
{
public string Name;
public int Age;
public bool IsMarried;
public void SayHello()
{
Console.WriteLine("Hello, my name is " + Name);
}
public bool TrySayHi(string name)
{
if (string.IsNullOrEmpty(name))
{
return false;
}
Console.WriteLine("Hi " + name + "!");
return true;
}
public string Address
{
get
{
return "No.1, Main Street";
}
}
}
class Program
{
static void Main(string[] args)
{
Type type = typeof(Person);
MemberInfo[] members = type.GetMembers();
foreach (MemberInfo member in members)
{
Console.WriteLine(member);
}
}
}
}
上面的代码运行后,会依次输出以下信息:
System.String Name
System.Int32 Age
System.Boolean IsMarried
Void SayHello()
Boolean TrySayHi(System.String)
System.String get_Address()
Type.GetMembers()方法是一个重要的反射方法,可以让程序员通过反射获取类型的成员信息,并在程序中进行操作。只不过获取到的成员信息较多,需要我们在打印输出这些信息时进行筛选和过滤。