C# | Método Type.GetInterface()

El método Type.GetInterface() se usa para obtener una interfaz específica implementada o heredada por el tipo actual.

  • Método GetInterface(String)
  • Método GetInterface(String, Boolean)

Método GetInterface(String)

Este método se utiliza para buscar la interfaz con el nombre especificado.

Sintaxis: tipo público GetInterface (nombre de string);
Aquí, toma la string que contiene el nombre de la interfaz para obtener. Para interfaces genéricas, este es el nombre alterado.

Valor devuelto: este método devuelve un objeto que representa la interfaz con el nombre especificado, implementado o heredado por el Tipo actual, si se encuentra de otra manera, nulo.

Excepción: este método arroja ArgumentNullException si el nombre es nulo.

Los siguientes programas ilustran el uso del método Type.GetInterface(String) :

Ejemplo 1:

// C# program to demonstrate the
// Type.GetInterface(String) Method
using System;
using System.Globalization;
using System.Reflection;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        // Declaring and initializing object of Type
        Type objType = typeof(int);
  
        // try-catch block for handling Exception
        try {
  
            // Getting interface of specified name
            // using GetField(String) Method
            Type minterface = objType.GetInterface("IFormattable");
  
            // Display the Result
            Console.WriteLine("interface is: {0}", minterface);
        }
  
        // catch ArgumentNullException here
        catch (ArgumentNullException e) 
        {
            Console.Write("name is null.");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}
Producción:

interface is: System.IFormattable

Ejemplo 2: para ArgumentNullException

// C# program to demonstrate the
// Type.GetInterface(String) Method
using System;
using System.Globalization;
using System.Reflection;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        // Declaring and initializing object of Type
        Type objType = typeof(int);
  
        // try-catch block for handling Exception
        try {
  
            // Getting interface of specified name
            // using GetField(String) Method
            Type minterface = objType.GetInterface(null);
  
            // Display the Result
            Console.WriteLine("interface is: {0}", minterface);
        }
  
        // catch ArgumentNullException here
        catch (ArgumentNullException e) 
        {
            Console.WriteLine("name is null.");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}
Producción:

name is null.
Exception Thrown: System.ArgumentNullException

Método GetInterface(String, Boolean)

Este método se usa para buscar la interfaz especificada, especificando si se debe realizar una búsqueda sin distinción entre mayúsculas y minúsculas para el nombre de la interfaz cuando se reemplaza en una clase derivada.

Sintaxis: public abstract Tipo GetInterface (nombre de string, bool ignoreCase);

Parámetros:

name : La string que contiene el nombre de la interfaz a obtener. Para interfaces genéricas, este es el nombre alterado.

ignoreCase : true para ignorar las mayúsculas y minúsculas de la parte del nombre que especifica el nombre de la interfaz simple (la parte que especifica el espacio de nombres debe estar correctamente en mayúsculas) o false para realizar una búsqueda que distingue entre mayúsculas y minúsculas para todas las partes del nombre.

Valor devuelto: este método devuelve n objeto que representa la interfaz con el nombre especificado, implementado o heredado por el Tipo actual si se encuentra de otra manera, 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.GetInterface(String, 
// Boolean) Method
using System;
using System.Globalization;
using System.Reflection;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        // Declaring and initializing object of Type
        Type objType = typeof(int);
  
        // try-catch block for handling Exception
        try {
  
            // Getting interface of specified name
            // using GetField(String) Method
            Type minterface = objType.GetInterface("iformattable", true);
  
            // Display the Result
            Console.WriteLine("interface is: {0}", minterface);
        }
  
        // catch ArgumentNullException here
        catch (ArgumentNullException e) {
            Console.WriteLine("name is null.");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}
Producción:

interface is: System.IFormattable

Ejemplo 2: para ArgumentNullException

// C# program to demonstrate the
// Type.GetInterface(String, 
// Boolean) Method
using System;
using System.Globalization;
using System.Reflection;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        // Declaring and initializing object of Type
        Type objType = typeof(int);
  
        // try-catch block for handling Exception
        try {
  
            // Getting interface of specified name
            // using GetField(String) Method
            Type minterface = objType.GetInterface(null, true);
  
            // Display the Result
            Console.WriteLine("interface is: {0}", minterface);
        }
  
        // catch ArgumentNullException here
        catch (ArgumentNullException e) 
        {
            Console.WriteLine("name is null.");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}

Producción:

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

Deja una respuesta

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