Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

เมธอด Type.GetMember() ใน C#

เมธอด Type.GetMember() ใน C# ใช้สำหรับดึงสมาชิกที่ระบุของ Type ปัจจุบัน

ไวยากรณ์

เมธอดนี้มี 2 การโหลดทับ:

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

ตัวอย่าง

ตัวอย่างการใช้งานเมธอด Type.GetMember():

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"; 
}

ผลลัพธ์

โค้ดจะแสดงผลดังนี้:

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

ตัวอย่างเพิ่มเติม

ตัวอย่างที่สองกับ 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"; 
}

ผลลัพธ์

โค้ดจะแสดงผลดังนี้:

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