Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Phương thức Type.GetMember() trong C#

Phương thức Type.GetMember() trong C# được dùng để lấy các thành viên được chỉ định của kiểu hiện tại.

Cú pháp

Hai nạp chồng:

public MemberInfo[] GetMember(string name);
public virtual MemberInfo[] GetMember(string name, BindingFlags bindingAttr);

Ví dụ 1 - Lấy thành viên theo tên

using System;
using System.Reflection;

public class Demo
{
    public static void Main()
    {
        Type type = typeof(Subject);
        try
        {
            FieldInfo fieldInfo = type.GetField("SubName");
            MemberInfo[] info = type.GetMember("SubName");
            Console.Write("Members = ");
            for (int i = 0; i < info.Length; i++)
                Console.WriteLine(" {0}", info[i]);
            Console.WriteLine("FieldInfo = {0}", fieldInfo);
        }
        catch (ArgumentNullException e)
        {
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}

public class Subject
{
    public string SubName = "Science";
}

Kết quả

Members = System.String SubName
FieldInfo = System.String SubName

Ví dụ 2 - Lấy thành viên với BindingFlags

using System;
using System.Reflection;

public class Demo
{
    public static void Main()
    {
        Type type = typeof(Subject);
        try
        {
            FieldInfo fieldInfo = type.GetField("SubName");
            MemberInfo[] info = type.GetMember("SubName", BindingFlags.Public | BindingFlags.Instance);
            Console.Write("Members = ");
            for (int i = 0; i < info.Length; i++)
                Console.WriteLine(" {0}", info[i]);
            Console.WriteLine("FieldInfo = {0}", fieldInfo);
        }
        catch (ArgumentNullException e)
        {
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}

public class Subject
{
    public string SubName = "Science";
}

Kết quả

Members = System.String SubName
FieldInfo = System.String SubName