Open In App

C# | Type.GetDefaultMembers() Method

Last Updated : 19 Dec, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

Type.GetDefaultMembers() Method is used to find the members defined for the current Type whose DefaultMemberAttribute is set.

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

Return Value: This method returns an array of MemberInfo objects representing all default members of the current Type or an empty array of type MemberInfo, if the current Type does not have default members.

Below programs illustrate the use of Type.GetDefaultMembers() Method:

Example 1:




// C# program to demonstrate the
// Type.GetDefaultMembers() Method
using System;
using System.Globalization;
using System.Reflection;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        // Declaring and initializing obj
        object obj = "Ram";
  
        // Getting the type of obj
        // using GetType() Method
        Type type = obj.GetType();
  
        // Getting the DefaultMembers
        // using GetDefaultMembers() Method
        MemberInfo[] info = type.GetDefaultMembers();
  
        // Display the result
        for (int i = 0; i < info.Length; i++)
  
            Console.WriteLine("Result is:  {0}", info[i]);
    }
}


Output:

Result is:  Char Chars [Int32]

Example 2:




// C# program to demonstrate the
// Type.GetDefaultMembers() Method
using System;
using System.Globalization;
using System.Reflection;
  
// Setting DefaultMemberAttribute
[DefaultMemberAttribute("name")] class GFG {
  
    // Main Method
    public static void Main()
    {
        // Declaring and initializing
        // object of Type dataType
        Type type = typeof(GFG);
  
        // Getting the DefaultMembers
        // using GetDefaultMembers() Method
        MemberInfo[] info = type.GetDefaultMembers();
  
        if (info.Length != 0)
        {
            for (int i = 0; i < info.Length; i++)
                Console.WriteLine("Result is:  {0}", info[i]);
        }
        else {
            Console.WriteLine("DefaultMember is not found");
        }
    }
  
    // Defining Member Attributes
    public void Name(String s) {}
  
    // Defining property
    public String name
    {
        // property or indexer must 
        // have at least one accessor
        get
        {
            return "Ram";
        }
    }
}


Output:

Result is:  System.String name

Reference:



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads