El método Type.GetProperties() se utiliza para obtener las propiedades del tipo actual. Hay 2 métodos en la lista de sobrecarga de este método de la siguiente manera:
- Método GetProperties()
- Método GetProperties(BindingFlags)
Método GetProperties()
Este método se utiliza para devolver todas las propiedades públicas del Tipo actual.
Sintaxis: public System.Reflection.PropertyInfo[] GetProperties();
Valor de retorno: este método devuelve una array de objetos PropertyInfo que representan todas las propiedades públicas del tipo actual o una array vacía de tipo PropertyInfo si el tipo actual no tiene propiedades públicas.
Los siguientes programas ilustran el uso del método Type.GetProperties() :
Ejemplo 1:
// C# program to demonstrate the // Type.GetProperties() 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(string); // try-catch block for handling Exception try { // using GetProperties() Method PropertyInfo[] type = objType.GetProperties(); // Display the Result Console.WriteLine("Properties of current type is: "); for (int i = 0; i < type.Length; i++) Console.WriteLine(" {0}", type[i]); } // catch ArgumentNullException here catch (ArgumentNullException e) { Console.Write("name is null."); Console.Write("Exception Thrown: "); Console.Write("{0}", e.GetType(), e.Message); } } }
Properties of current type is: Int32 Length Char Chars [Int32]
Ejemplo 2:
// C# program to demonstrate the // Type.GetProperties() 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(System.Type); // try-catch block for handling Exception try { // using GetProperties() Method PropertyInfo[] type = objType.GetProperties(); // Display the Result Console.WriteLine("Properties of current type is: "); for (int i = 0; i < 10; i++) Console.WriteLine(" {0}", type[i]); } // catch ArgumentNullException here catch (ArgumentNullException e) { Console.Write("name is null."); Console.Write("Exception Thrown: "); Console.Write("{0}", e.GetType(), e.Message); } } }
Properties of current type is: System.Reflection.MemberTypes MemberType System.Type DeclaringType System.Reflection.MethodBase DeclaringMethod System.Type ReflectedType System.Runtime.InteropServices.StructLayoutAttribute StructLayoutAttribute System.Guid GUID System.Reflection.Binder DefaultBinder System.Reflection.Module Module System.Reflection.Assembly Assembly System.RuntimeTypeHandle TypeHandle
Método GetProperties(BindingFlags)
Este método se usa para buscar las propiedades del Tipo actual, usando las restricciones de enlace especificadas cuando se anula en una clase derivada.
Sintaxis: public abstract System.Reflection.PropertyInfo[] GetProperties (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 Zero, para devolver un valor nulo.Valor devuelto: este método devuelve una array de objetos PropertyInfo que representan todas las propiedades del tipo actual que coinciden con las restricciones de enlace especificadas o una array vacía de tipo PropertyInfo, si el tipo actual no tiene propiedades o si ninguna de las propiedades coincide con el enlace. restricciones
Ejemplo 1:
// C# program to demonstrate the // Type.GetProperties(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(Dog); // using GetProperties() Method PropertyInfo[] type = objType.GetProperties(BindingFlags.Instance | BindingFlags.Public); // Display the Result Console.WriteLine("Properties of current type is: "); for (int i = 0; i < type.Length; i++) Console.WriteLine(" {0}", type[i]); } } // Defining class Dog public class Dog { private string color, breed, type; // Constructor public Dog(string color, string breed, string type) { this.color = color; this.breed = breed; this.type = type; } // Color Property public String Color { get { return color; } } // Breed Property public String Breed { get { return breed; } } // Type Property public String Type { get { return type; } } // BloodGroup Property private String BloodGroup { get { return "AB+"; } } }
Properties of current type is: System.String Color System.String Breed System.String Type
Ejemplo 2:
// C# program to demonstrate the // Type.GetProperties(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(Dog); // using GetProperties() Method PropertyInfo[] type = objType.GetProperties(BindingFlags.Instance | BindingFlags.NonPublic); // Display the Result Console.WriteLine("Properties of current type is: "); for (int i = 0; i < type.Length; i++) Console.WriteLine(" {0}", type[i]); } } // Defining class Dog public class Dog { private string color, breed, type, bp; // Constructor public Dog(string color, string breed, string type, string bp) { this.color = color; this.breed = breed; this.type = type; this.bp = bp; } // Color Property public String Color { get { return color; } } // Breed Property public String Breed { get { return breed; } } // Type Property public String Type { get { return type; } } // BloodGroup Property protected String BloodGroup { get { return "AB+"; } } // BloodPressure Property protected String BloodPressure { get { return bp; } } }
Properties of current type is: System.String BloodGroup System.String BloodPressure
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