El método Type.GetNestedType() se usa para obtener un tipo específico anidado dentro del tipo actual. Hay 2 métodos en la lista de sobrecarga de este método de la siguiente manera:
- Método GetNestedType(String, BindingFlags)
- Método GetNestedType(String)
Método GetNestedType(String, BindingFlags)
Este método se usa para buscar el tipo anidado especificado, usando las restricciones de enlace especificadas cuando se anula en una clase derivada.
Sintaxis: tipo abstracto público GetNestedType (nombre de string, System.Reflection.BindingFlags bindingAttr);
Parámetros :
nombre : La string que contiene el nombre del tipo anidado a obtener.
bindingAttr : 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 un valor nulo.
Valor devuelto: este método devuelve un objeto que representa el tipo anidado que cumple los requisitos especificados si se encuentra; en caso contrario, 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.GetNestedType(String, // 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(Person); // try-catch block for handling Exception try { Type type = objType.GetNestedType("Student", BindingFlags.Public | BindingFlags.Instance); // Display the Result Console.Write("NestedType of current type is: "); Console.WriteLine(" {0}", type); } // catch ArgumentNullException here catch (ArgumentNullException e) { Console.Write("name is null."); Console.Write("Exception Thrown: "); Console.Write("{0}", e.GetType(), e.Message); } } } public class Person { public class Student { // string name; // int roll; // string dept; } public class Teacher { // string name; // string dept; // int id; } }
NestedType of current type is: Person+Student
Ejemplo 2:
// C# program to demonstrate the // Type.GetNestedType(String, // 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(Person); // try-catch block for handling Exception try { Type type = objType.GetNestedType(null, BindingFlags.Public | BindingFlags.Instance); // Display the Result Console.Write("NestedType of current type is: "); Console.WriteLine(" {0}", type); } // catch ArgumentNullException here catch (ArgumentNullException e) { Console.WriteLine("name is null."); Console.Write("Exception Thrown: "); Console.Write("{0}", e.GetType(), e.Message); } } } // Defining Person class public class Person { // Defining class Student public class Student { // string name; // int roll; // string dept; } // Defining class Teacher public class Teacher { // string name; // string dept; // int id; } }
name is null. Exception Thrown: System.ArgumentNullException
Método GetNestedType(String)
Este método se utiliza para buscar el tipo anidado público con el nombre especificado.
Sintaxis: tipo público GetNestedType (nombre de string);
Aquí, toma la string que contiene el nombre del tipo anidado para obtener.Valor devuelto: este método devuelve un objeto que representa el tipo anidado público con el nombre especificado si se encuentra; en caso contrario, nulo.
Excepción : este método lanza ArgumentNullException si el nombre es nulo.
Ejemplo 1:
// C# program to demonstrate the // Type.GetNestedType(String) 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(Person); // try-catch block for handling Exception try { Type type = objType.GetNestedType("Teacher"); // Display the Result Console.Write("NestedType of current type is: "); Console.WriteLine(" {0}", type); } // catch ArgumentNullException here catch (ArgumentNullException e) { Console.WriteLine("name is null."); Console.Write("Exception Thrown: "); Console.Write("{0}", e.GetType(), e.Message); } } } // Defining Person class public class Person { // Defining class Student public class Student { // string name; // int roll; // string dept; } // Defining class Teacher public class Teacher { // string name; // string dept; // int id; } }
NestedType of current type is: Person+Teacher
Ejemplo 2:
// C# program to demonstrate the // Type.GetNestedType(String) // 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(Person); // try-catch block for handling Exception try { Type type = objType.GetNestedType(null); // Display the Result Console.Write("NestedType of current type is: "); Console.WriteLine(" {0}", type); } // catch ArgumentNullException here catch (ArgumentNullException e) { Console.WriteLine("name is null."); Console.Write("Exception Thrown: "); Console.Write("{0}", e.GetType(), e.Message); } } } // Defining Person class public class Person { // Defining class Student public class Student { // string name; // int roll; // string dept; } // Defining class Teacher public class Teacher { // string name; // string dept; // int id; } }
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