El método Type.GetConstructors() se usa para obtener los constructores del objeto Type. Hay 2 métodos en la lista de sobrecarga de este método de la siguiente manera:
Método Type.GetConstructors()
Este método se usa para devolver todos los constructores públicos definidos para el Tipo actual.
Sintaxis:
public System.Reflection.ConstructorInfo[] GetConstructors ();
Devoluciones: este método devuelve objetos de array ConstructorInfo que representan todos los constructores de instancias públicas definidos para el tipo actual, pero no incluye el inicializador de tipo (constructor estático).
Los siguientes programas ilustran el uso del método Type.GetConstructors() :
Ejemplo 1:
csharp
// C# program to demonstrate the // Type.GetConstructors() Method using System; using System.Globalization; using System.Reflection; class GFG { // Main Method public static void Main() { // Declaring and initializing object object obj = new Object(); // Getting the type of object // using GetType() method Type type = obj.GetType(); // Getting constructors of the current Type. // using GetArrayRank() Method ConstructorInfo[] info = type.GetConstructors(); // Display all the public instance constructors Console.WriteLine("All constructors are shown below"); for (int i = 0; i < info.Length; i++) Console.WriteLine(info[i]); } }
All constructors are shown below Void .ctor()
Ejemplo 2:
csharp
// C# program to demonstrate the // Type.GetConstructors() Method using System; using System.Globalization; using System.Reflection; class GFG { // Main Method public static void Main() { // Declaring and initializing Type object Type type = typeof(string); // Getting constructors of the current Type. // using GetConstructors() Method ConstructorInfo[] info = type.GetConstructors(); // Display all the public instance constructors Console.WriteLine("All constructors are shown below"); for (int i = 0; i < info.Length; i++) Console.WriteLine(info[i]); } }
All constructors are shown below Void .ctor(Char[]) Void .ctor(Char[], Int32, Int32) Void .ctor(Char*) Void .ctor(Char*, Int32, Int32) Void .ctor(SByte*) Void .ctor(SByte*, Int32, Int32) Void .ctor(SByte*, Int32, Int32, Encoding) Void .ctor(Char, Int32) Void .ctor(ReadOnlySpan`1)
Método Type.GetConstructors(BindingFlags)
Este método se usa para devolver constructores definidos para el Tipo actual, usando los BindingFlags especificados cuando se reemplazan en una clase derivada,
Sintaxis:
Resumen público System.Reflection.ConstructorInfo[] GetConstructors (System.Reflection.BindingFlags bindingAttr);
Aquí, se necesita una máscara de bits compuesta por uno o más BindingFlags que especifican en qué punto se lleva a cabo la atención. o Cero, para devolver nulo.
A continuación se muestran algunas banderas de filtro BindingFlags que se pueden usar para definir qué constructores incluir en la búsqueda:
- Debe especificar BindingFlags.Instance o BindingFlags.Static para obtener una devolución.
- Especifique BindingFlags.Public para incluir constructores públicos en la búsqueda.
- Especifique BindingFlags.NonPublic para incluir constructores no públicos (es decir, constructores privados, internos y protegidos) en la búsqueda. No se devuelven los constructores de las clases base.
Valor devuelto: este método devuelve una array de objetos ConstructorInfo que representan todos los constructores definidos para el tipo actual que coinciden con las restricciones de enlace especificadas, incluido el inicializador de tipo, si está definido.
Los siguientes programas ilustran el uso del método mencionado anteriormente:
Ejemplo 1:
csharp
// C# program to demonstrate the // Type.GetConstructors(BindingFlags) // Method using System; using System.Globalization; using System.Reflection; class GFG { // Main Method public static void Main() { // Declaring and initializing Type object Type type = typeof(string); // Declaring and initializing BindingFlags // it is used to specify how the search // is conducted BindingFlags bf = BindingFlags.Public | BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Instance; // Getting constructors of the current Type. // using GetConstructors() Method ConstructorInfo[] info = type.GetConstructors(bf); // Display all constructors Console.WriteLine("All constructors are shown below"); for (int i = 0; i < info.Length; i++) Console.WriteLine(info[i]); } }
All constructors are shown below Void .ctor(Char[]) Void .ctor(Char[], Int32, Int32) Void .ctor(Char*) Void .ctor(Char*, Int32, Int32) Void .ctor(SByte*) Void .ctor(SByte*, Int32, Int32) Void .ctor(SByte*, Int32, Int32, Encoding) Void .ctor(Char, Int32) Void .ctor(ReadOnlySpan`1)
Ejemplo 2:
csharp
// C# program to demonstrate the // Type.GetConstructors(BindingFlags) // Method using System; using System.Globalization; using System.Reflection; class GFG { // Main Method public static void Main() { // Creating and initializing object object obj = new Object(); // Declaring and initializing Type object Type type = obj.GetType(); // Declaring and initializing BindingFlags // it is used to specify how the search is conducted BindingFlags bf = BindingFlags.Public | BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Instance; // Getting constructors of the current Type. // using GetConstructors() Method ConstructorInfo[] info = type.GetConstructors(bf); // Display all constructors Console.WriteLine("All constructors are shown below"); for (int i = 0; i < info.Length; i++) Console.WriteLine(info[i]); } }
All constructors are shown below Void .ctor()
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