El método Type.GetField() se utiliza para obtener un campo específico del tipo actual. Hay 2 métodos en la lista de sobrecarga de este método de la siguiente manera:
- Método GetField(String)
- Método GetField(String, BindingFlags)
Método GetField(String)
Este método se utiliza para buscar el campo público con el nombre especificado.
Sintaxis: public System.Reflection.FieldInfo GetField (nombre de string);
Aquí, toma la string que contiene el nombre del campo de datos para obtener.Valor devuelto: este método devuelve un objeto que representa el campo público con el nombre especificado si se encuentra de otra manera, nulo.
Excepción: este método arroja ArgumentNullException si el nombre es nulo.
Los siguientes programas ilustran el uso del método Type.GetField() :
Ejemplo 1:
// C# program to demonstrate the // Type.GetField(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 { // Getting FieldInfo by // using GetField(String) Method FieldInfo info = objType.GetField("Name"); // Display the Result Console.WriteLine("FieldInfo is: {0}", info); } // 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; }
FieldInfo is: System.String Name
Ejemplo 2: para ArgumentNullException
// C# program to demonstrate the // Type.GetField(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 { // Getting FieldInfo by // using GetField() Method FieldInfo info = objType.GetField(null); // Display the Result Console.WriteLine("FieldInfo is: {0}", info); } // 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; }
name is null. Exception Thrown: System.ArgumentNullException
Método GetField(String, BindingFlags)
Este método se usa para buscar el campo especificado, usando las restricciones de enlace especificadas.
Sintaxis: public abstract System.Reflection.FieldInfo GetField (nombre de string, System.Reflection.BindingFlags bindingAttr);
Parámetros :
nombre : La string que contiene el nombre del campo de datos 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 Zero, para devolver nulo.
Valor devuelto: este método devuelve un objeto que representa el campo que coincide con los requisitos especificados si se encuentra de otra manera, nulo.
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.GetField(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 { // You must specify either BindingFlags.Instance // or BindingFlags.Static // and Specify BindingFlags.Public // to include public fields in the search BindingFlags battr = BindingFlags.Public | BindingFlags.Instance; // Getting FieldInfo by // using GetField() Method FieldInfo info = objType.GetField("Name", battr); // Display the Result Console.WriteLine("FieldInfo is: {0}", info); } // 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; }
FieldInfo is: System.String Name
Ejemplo 2: para ArgumentNullException
// C# program to demonstrate the // Type.GetField(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 { // You must specify either BindingFlags.Instance // or BindingFlags.Static // and Specify BindingFlags.Public // to include public fields in the search BindingFlags battr = BindingFlags.Public | BindingFlags.Instance; // Getting FieldInfo by // using GetField() Method FieldInfo info = objType.GetField(null, battr); // Display the Result Console.WriteLine("FieldInfo is: {0}", info); } // 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; }
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