El método Type.IsAssignableFrom(Type) se usa para determinar si una instancia de un tipo específico se puede asignar a una variable del tipo actual.
Sintaxis: public virtual bool IsAssignableFrom (Tipo c);
Aquí, se necesita el tipo para compararlo con el tipo actual.Valor devuelto: este método devuelve verdadero si alguna de las siguientes condiciones es verdadera:
- c y la instancia actual representan el mismo tipo.
- c se deriva directa o indirectamente de la instancia actual. c se deriva directamente de la instancia actual si hereda de la instancia actual; c se deriva indirectamente de la instancia actual si hereda de una sucesión de una o más clases que heredan de la instancia actual.
- La instancia actual es una interfaz que implementa c.
- c es un parámetro de tipo genérico y la instancia actual representa una de las restricciones de c.
Los siguientes programas ilustran el uso del método Type.IsAssignableFrom() :
Ejemplo 1:
// C# program to demonstrate the // Type.IsAssignableFrom() Method using System; using System.Globalization; using System.Reflection; using System.IO; // Defining MyClass extended // from TypeDelegator public class MyClass : TypeDelegator { } class GFG { // Main Method public static void Main() { // Declaring and initializing object of Type Type objType = typeof(TypeDelegator); // Getting array of Properties by // using GetProperties() Method bool status = objType.IsAssignableFrom(typeof(MyClass)); // Display the Result if (status) Console.WriteLine("Instance of a specified type can be " + "assigned to a variable of the current type."); else Console.WriteLine("Instance of a specified type can't be " + "assigned to a variable of the current type."); } }
Producción:
Instance of a specified type can be assigned to a variable of the current type.
Ejemplo 2:
// C# program to demonstrate the // Type.IsAssignableFrom() Method using System; using System.Globalization; using System.Reflection; using System.IO; class GFG { // Main Method public static void Main() { // Declaring and initializing object of Type Type objType = typeof(double); // Getting array of Properties by // using GetProperties() Method bool status = objType.IsAssignableFrom(typeof(int)); // Display the Result if (status) Console.WriteLine("Instance of a specified type can be " + "assigned to a variable of the current type."); else Console.WriteLine("Instance of a specified type can't be " + "assigned to a variable of the current type."); } }
Producción:
Instance of a specified type can't be assigned to a variable of the current type.
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