El método Type.GetMembers() se utiliza para obtener los miembros (propiedades, métodos, campos, eventos, etc.) del tipo actual. Hay 2 métodos en la lista de sobrecarga de este método de la siguiente manera:
- Método GetMembers()
- Método GetMembers(BindingFlags)
Método GetMembers()
Este método se utiliza para devolver todos los miembros públicos del tipo actual.
Sintaxis: public System.Reflection.MemberInfo[] GetMembers();
Valor devuelto: este método devuelve una array de objetos MemberInfo que representan a todos los miembros públicos del tipo actual o una array vacía de tipo MemberInfo si el tipo actual no tiene miembros públicos.
Los siguientes programas ilustran el uso del método Type.GetMembers() :
Ejemplo 1:
// C# program to demonstrate the // Type.GetMember() Method using System; using System.Globalization; using System.Reflection; // Defining Empty class public class Empty { } class GFG { // Main Method public static void Main() { // Declaring and initializing object of Type Type objType = typeof(Empty); // try-catch block for handling Exception try { // Getting array of MemberInfos by // using GetMembers() Method MemberInfo[] info = objType.GetMembers(); // Display the Result Console.WriteLine("Fields 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); } } }
Fields of current type is as Follow: Boolean Equals(System.Object) Int32 GetHashCode() System.Type GetType() System.String ToString() Void .ctor()
Ejemplo 2:
// C# program to demonstrate the // Type.GetMember() 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(int); // try-catch block for handling Exception try { // Getting array of MemberInfos by // using GetMembers() Method MemberInfo[] info = objType.GetMembers(); // Display the Result Console.WriteLine("Fields of current type is as Follow: "); for (int i = 0; i < 6; 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); } } }
Fields of current type is as Follow: Int32 CompareTo(System.Object) Int32 CompareTo(Int32) Boolean Equals(System.Object) Boolean Equals(Int32) Int32 GetHashCode() System.String ToString()
Método GetMembers(BindingFlags)
Este método se usa para buscar los miembros definidos para el Tipo actual, usando las restricciones de enlace especificadas cuando se reemplazan en una clase derivada.
Sintaxis: public abstract System.Reflection.MemberInfo[] GetMembers (System.Reflection.BindingFlags bindingAttr);
Aquí, se necesita una máscara de bits compuesta por uno o más BindingFlags que especifican cómo se realiza la búsqueda o,
Cero (predeterminado), para devolver una array vacía.
Valor devuelto: este método devuelve una array de objetos MemberInfo que representan todos los miembros definidos para el tipo actual que coinciden con las restricciones de enlace especificadas o una array vacía de tipo MemberInfo, si no hay miembros definidos para el tipo actual, o si ninguno de los miembros definidos coincidir con las restricciones vinculantes.
Los siguientes programas ilustran el uso del método mencionado anteriormente:
Ejemplo 1:
// C# program to demonstrate the // Type.GetMembers(BindingFlags) // Method using System; using System.Globalization; using System.Reflection; // Defining class Empty public class Empty { } class GFG { // Main Method public static void Main() { // Declaring and initializing object of Type Type objType = typeof(Empty); // try-catch block for handling Exception try { // Getting array of Fields by // using GetField() Method MemberInfo[] info = objType.GetMembers(BindingFlags.Public | BindingFlags.Instance); // Display the Result Console.WriteLine("Fields 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); } } }
Fields of current type is as Follow: Boolean Equals(System.Object) Int32 GetHashCode() System.Type GetType() System.String ToString() Void .ctor()
Ejemplo 2:
// C# program to demonstrate the // Type.GetMembers(BindingFlags) // Method using System; using System.Globalization; using System.Reflection; // Defining class Empty public class Empty { } class GFG { // Main Method public static void Main() { // Declaring and initializing object of Type Type objType = typeof(int); // try-catch block for handling Exception try { // Getting array of Fields by // using GetField() Method MemberInfo[] info = objType.GetMembers(BindingFlags.Public | BindingFlags.Static); // Display the Result Console.WriteLine("Fields 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); } } }
Fields of current type is as Follow: Int32 Parse(System.String) Int32 Parse(System.String, System.Globalization.NumberStyles) Int32 Parse(System.String, System.IFormatProvider) Int32 Parse(System.String, System.Globalization.NumberStyles, System.IFormatProvider) Boolean TryParse(System.String, Int32 ByRef) Boolean TryParse(System.String, System.Globalization.NumberStyles, System.IFormatProvider, Int32 ByRef) System.Int32 MaxValue System.Int32 MinValue
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