C# | Método Type.GetMember()

El método Type.GetMember() se usa para obtener los miembros especificados del tipo actual. Hay 3 métodos en la lista de sobrecarga de este método de la siguiente manera:

  • Método GetMember(String)
  • Método GetMember(String, BindingFlags)
  • Método GetMember(String, MemberTypes, BindingFlags)

Método GetMember(String)

Este método busca los miembros públicos con el nombre especificado.

Sintaxis: public System.Reflection.MemberInfo[] GetMember (nombre de string);
Aquí, toma la string que contiene el nombre de los miembros públicos para obtener.

Valor devuelto: este método devuelve una array de objetos MemberInfo que representan a los miembros públicos con el nombre especificado; si no se encuentran, una array vacía.

Excepción: este método lanza ArgumentNullException si el nombre es nulo.

Los siguientes programas ilustran el uso del método mencionado anteriormente:

Ejemplo 1:

// C# program to demonstrate the
// Type.GetMember(String) Method
using System;
using System.Globalization;
using System.Reflection;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        // Declaring and initializing object of Type
        Type objType = typeof(Student);
  
        // try-catch block for handling Exception
        try {
  
            MemberInfo[] info = objType.GetMember("Name");
  
            // Display the Result
            Console.WriteLine("Members of current type is as Follow: ");
            for (int i = 0; i < info.Length; i++)
                Console.WriteLine(" {0}", info[i]);
        }
  
        // catch ArgumentNullException here
        catch (ArgumentNullException e)
        {
            Console.Write("name is null.");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}
  
// Defining class Student
public class Student 
{
    public string Name = "Rahul";
    public string Dept = "Electrical";
    public int Roll = 10;
    public static int id = 02;
}
Producción:

Members of current type is as Follow: 
 System.String Name

Ejemplo 2: para ArgumentNullException

// C# program to demonstrate the
// Type.GetMember(String) Method
using System;
using System.Globalization;
using System.Reflection;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        // Declaring and initializing object of Type
        Type objType = typeof(Student);
  
        // try-catch block for handling Exception
        try {
  
            MemberInfo[] info = objType.GetMember(null);
  
            // Display the Result
            Console.WriteLine("Members of current type is as Follow: ");
            for (int i = 0; i < info.Length; i++)
                Console.WriteLine(" {0}", info[i]);
        }
  
        // catch ArgumentNullException here
        catch (ArgumentNullException e)
        {
            Console.WriteLine("name is null.");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}
  
// Defining class Student
public class Student 
{
    public string Name = "Rahul";
    public string Dept = "Electrical";
    public int Roll = 10;
    public static int id = 02;
}
Producción:

name is null.
Exception Thrown: System.ArgumentNullException

Método GetMember(String, BindingFlags)

Este método se usa para buscar los miembros especificados, usando las restricciones de enlace especificadas.

Sintaxis: public virtual System.Reflection.MemberInfo[] GetMember (nombre de string, System.Reflection.BindingFlags bindingAttr);

Parámetros :
nombre : Es la string que contiene el nombre de los miembros a obtener.
bindingAttr : es una máscara de bits compuesta por uno o más BindingFlags que especifican cómo se realiza la búsqueda. o, Cero, para devolver una array vacía.

Valor de retorno: este método devuelve una array de objetos MemberInfo que representan a los miembros públicos con el nombre especificado, si se encuentra de otra manera, una array vacía.

Excepción : este método lanza ArgumentNullException si el nombre es nulo.

Los siguientes programas ilustran el uso del método mencionado anteriormente:

Ejemplo 1:

// C# program to demonstrate the
// Type.GetMember(String, BindingFlags) 
// Method
using System;
using System.Globalization;
using System.Reflection;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        // Declaring and initializing object of Type
        Type objType = typeof(Student);
  
        // try-catch block for handling Exception
        try {
  
            MemberInfo[] info = objType.GetMember("Name",
                      BindingFlags.Public | BindingFlags.Instance);
  
            // Display the Result
            Console.WriteLine("Members of current type is as Follow: ");
            for (int i = 0; i < info.Length; i++)
                Console.WriteLine(" {0}", info[i]);
        }
  
        // catch ArgumentNullException here
        catch (ArgumentNullException e)
        {
            Console.WriteLine("name is null.");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}
  
// Defining class Student
public class Student
{
    public string Name = "Rahul";
    public string Dept = "Electrical";
    public int Roll = 10;
    public static int id = 02;
}
Producción:

Members of current type is as Follow: 
 System.String Name

Ejemplo 2: para ArgumentNullException

// C# program to demonstrate the
// Type.GetMember(String, BindingFlags) Method
using System;
using System.Globalization;
using System.Reflection;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        // Declaring and initializing object of Type
        Type objType = typeof(Student);
  
        // try-catch block for handling Exception
        try {
  
            MemberInfo[] info = objType.GetMember(null,
                    BindingFlags.Public | BindingFlags.Instance);
  
            // Display the Result
            Console.WriteLine("Members of current type is as Follow: ");
            for (int i = 0; i < info.Length; i++)
                Console.WriteLine(" {0}", info[i]);
        }
  
        // catch ArgumentNullException here
        catch (ArgumentNullException e) 
        {
            Console.WriteLine("name is null.");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}
  
// Defining class Student
public class Student
{
    public string Name = "Rahul";
    public string Dept = "Electrical";
    public int Roll = 10;
    public static int id = 02;
}
Producción:

name is null.
Exception Thrown: System.ArgumentNullException

Método GetMember(String, MemberTypes, BindingFlags)

Este método se usa para buscar los miembros especificados del tipo de miembro especificado, usando las restricciones de enlace especificadas.

Sintaxis: System.Reflection.MemberInfo[] GetMember virtual público (nombre de string, tipo System.Reflection.MemberTypes, System.Reflection.BindingFlags bindingAttr);

Parámetros :
nombre : Es la string que contiene el nombre de los miembros a obtener.
type : Es el valor a buscar.
bindingAttr : es una máscara de bits compuesta por uno o más BindingFlags que especifican cómo se realiza la búsqueda o, Zero, para devolver una array vacía.

Valor de retorno: este método devuelve una array de objetos MemberInfo que representan a los miembros públicos con el nombre especificado, si se encuentra de otra manera, una array vacía.

Excepción: este método lanza ArgumentNullException si el nombre es nulo.

Los siguientes programas ilustran el uso del método mencionado anteriormente:

Ejemplo 1:

// C# program to demonstrate the
// Type.GetMember(String, MemberTypes,
// BindingFlags) Method
using System;
using System.Globalization;
using System.Reflection;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        // Declaring and initializing object of Type
        Type objType = typeof(Student);
  
        // try-catch block for handling Exception
        try {
  
            MemberInfo[] info = objType.GetMember("returnNull", MemberTypes.Method,
                                      BindingFlags.Public | BindingFlags.Instance);
  
            // Display the Result
            Console.WriteLine("Members of current type is as Follow: ");
            for (int i = 0; i < info.Length; i++)
                Console.WriteLine(" {0}", info[i]);
        }
  
        // catch ArgumentNullException here
        catch (ArgumentNullException e)
        {
            Console.WriteLine("name is null.");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}
  
// Defining class Student
public class Student 
{
    public string Name = "Rahul";
    public string Dept = "Electrical";
    public int Roll = 10;
    public static int id = 02;
  
    public void returnNull() {}
}
Producción:

Members of current type is as Follow: 
 Void returnNull()

Ejemplo 2: para ArgumentNullException

// C# program to demonstrate the
// Type.GetMember(String, MemberTypes,
// BindingFlags) Method
using System;
using System.Globalization;
using System.Reflection;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        // Declaring and initializing object of Type
        Type objType = typeof(Student);
  
        // try-catch block for handling Exception
        try {
  
            MemberInfo[] info = objType.GetMember(null, MemberTypes.Method,
                              BindingFlags.Public | BindingFlags.Instance);
  
            // Display the Result
            Console.WriteLine("Members of current type is as Follow: ");
            for (int i = 0; i < info.Length; i++)
                Console.WriteLine(" {0}", info[i]);
        }
  
        // catch ArgumentNullException here
        catch (ArgumentNullException e) 
        {
            Console.WriteLine("name is null.");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}
  
// Defining class Student
public class Student
{
    public string Name = "Rahul";
    public string Dept = "Electrical";
    public int Roll = 10;
    public static int id = 02;
  
    public void returnNull() {}
}
Producción:

name is null.
Exception Thrown: System.ArgumentNullException

Referencia:

Publicación traducida automáticamente

Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *