El método Type.HasElementTypeImpl() se usa cuando se anula en una clase derivada, implementa la propiedad HasElementType y determina si el tipo actual abarca o hace referencia a otro tipo. Significa que este método verifica si el Tipo actual es una array, un puntero o se pasa por referencia.
Sintaxis: Bool abstracto protegido HasElementTypeImpl();
Valor devuelto: este método devuelve verdadero si el tipo es una array, un puntero o se pasa por referencia de lo contrario, falso.
Los siguientes programas ilustran el uso del método Type.HasElementTypeImpl() :
Ejemplo 1:
// C# program to demonstrate the // Type.HasElementTypeImpl() Method using System; using System.Globalization; using System.Reflection; class GFG { // Main Method public static void Main() { // creating and initializing object of MyClass MyClass mytype = new MyClass(typeof(int)); // checking if mytype has any elementtype or not if (mytype.HasElementType) Console.WriteLine("The type of myArray is {0}.", mytype.elementtype); else Console.WriteLine("myArray is not an array, pointer, or reference type."); } } // Defining MyClass extended from TypeDelegator public class MyClass : TypeDelegator { // creating and initializing elementtype with null public string elementtype = null; // creating and initializing type with null private Type type = null; // Constructor public MyClass(Type type) : base(type) { this.type = type; } // Override Type.HasElementTypeImpl(). protected override bool HasElementTypeImpl() { // Determine whether the type is an array. if (type.IsArray) { elementtype = "array"; return true; } // Determine whether the type is a reference. if (type.IsByRef) { elementtype = "reference"; return true; } // Determine whether the type is a pointer. if (type.IsPointer) { elementtype = "pointer"; return true; } // Return false if the type is not // a reference, array, or pointer type. return false; } }
Producción:
myArray is not an array, pointer, or reference type.
Ejemplo 2:
// C# program to demonstrate the // Type.HasElementTypeImpl() Method using System; using System.Globalization; using System.Reflection; class GFG { // Main Method public static void Main() { // creating and initializing object of MyClass MyClass mytype = new MyClass(typeof(int[,,,,,, ])); // checking if mytype has any elementtype or not if (mytype.HasElementType) Console.WriteLine("The type of {1} is {0}.", mytype.elementtype, mytype.type); else Console.WriteLine("{0} is not an array, pointer, or reference type.", mytype.type); } } // Defining MyClass extended from TypeDelegator public class MyClass : TypeDelegator { // creating and initializing elementtype with null public string elementtype = null; // creating and initializing type with null public Type type = null; // Constructor public MyClass(Type type) : base(type) { this.type = type; } // Override Type.HasElementTypeImpl(). protected override bool HasElementTypeImpl() { // Determine whether the type is an array. if (type.IsArray) { elementtype = "array"; return true; } // Determine whether the type is a reference. if (type.IsByRef) { elementtype = "reference"; return true; } // Determine whether the type is a pointer. if (type.IsPointer) { elementtype = "pointer"; return true; } // Return false if the type is not a // reference, array, or a pointer type return false; } }
Producción:
The type of System.Int32[,,,,,,] is array.
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