C# | Método Type.IsAssignableFrom(Type)

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *