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

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

เมธอด Type.GetDefaultMembers() ใน C# ค้นหาสมาชิก (Members) ของ Type ปัจจุบันที่มีแอตทริบิวต์ DefaultMemberAttribute ตั้งค่าไว้

ไวยากรณ์

public virtual System.Reflection.MemberInfo[] GetDefaultMembers();

ตัวอย่างที่ 1: Property ชื่อ subject

using System;
using System.Reflection;

[DefaultMemberAttribute("subject")]
public class Demo
{
    public static void Main()
    {
        Type t = typeof(Demo);
        MemberInfo[] member = t.GetDefaultMembers();
        
        if (member.Length != 0)
        {
            for (int i = 0; i < member.Length; i++)
                Console.WriteLine("{0}", member[i]);
        }
        else
        {
            Console.WriteLine("Default Member isn't there!");
        }
    }
    
    public void Name(string str) { }
    
    public string subject
    {
        get { return "Mathematics"; }
    }
}

ผลลัพธ์

System.String subject

ตัวอย่างที่ 2: Property ชื่อ rank

using System;
using System.Reflection;

[DefaultMemberAttribute("rank")]
public class Demo
{
    public static void Main()
    {
        Type t = typeof(Demo);
        MemberInfo[] member = t.GetDefaultMembers();
        
        if (member.Length != 0)
        {
            for (int i = 0; i < member.Length; i++)
                Console.WriteLine("{0}", member[i]);
        }
        else
        {
            Console.WriteLine("Default Member isn't there!");
        }
    }
    
    public void Name(string str) { }
    
    public int rank
    {
        get { return 5; }
    }
}

ผลลัพธ์

Int32 rank

การประยุกต์: ใช้ใน Reflection เพื่อหา Default Property/Indexer ของ Type (เช่น Item Property ใน Collection)