English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Ejemplo de método de llamada de interfaz en clase derivada y clase externa en C#

本文实例讲述了C#接口在派生类和外部类中的调用方法。分享给大家供大家参考,具体如下:

C#的接口通过interface关键字创建,在接口中可以包含属性、方法等成员变量。接口的派生类可以对接口中的方法进行实现。一个类可以继承多个接口以实现这些接口中的方法,一个接口也可以派生多个类。接口中的方法可以由这些类中的一个或多个实现。在接口的派生类中可以直接调用接口中的方法。

在派生类中调用示例:

//接口
public interface IPersonalService
{
   //接口中的方法
   PersonalDTO QueryByUid(int uId);
}
//接口派生类
public class PersonalService : IPersonalService
{
    //在派生类中实现接口方法--隐式实现
    public PersonalDTO QueryByUid(int uId)
    {
      return _dal.QueryByUid(uId);
    }
    //在派生类中调用接口方法
    public void GetInfo(int userId)
    {
      //方式一调用
      IPersonalService p = new PersonalService();
      PersonalDTO dto = p.QueryByUid(userId);
      //Método de llamada dos
      PersonalService p2 = new PersonalService();
      IPersonalService p3 = (IPersonalService)p2;
      PersonalDTO dto = p3.QueryByUid(userId);
    }
}

Al llamar un método de interfaz en una clase externa, primero se debe referir al espacio de nombres donde se encuentra la interfaz y luego seguir los pasos del mismo modo que en la clase derivada de la interfaz.

Se puede declarar una propiedad de tipo de interfaz después de referir el espacio de nombres donde se encuentra la interfaz en una clase externa y llamar la interfaz, como se muestra a continuación.

public IPersonalService pService{get;set;}
public void getInfo()
{
    pService.getInfo();
}

Los lectores interesados en más contenido relacionado con C# pueden ver la sección especial de este sitio: 'Tutorial de Estructuras de Datos y Algoritmos en C#', 'Resumen de Algoritmos y Técnicas de Recorrido en C#', 'Resumen de Técnicas de Uso de Hilos en Programación de C#', 'Tutorial de Uso de Controles Comunes en C#', 'Resumen de Uso de Controles WinForm en C#', 'Resumen de Técnicas de Operación de Arreglos en C#' y 'Tutorial de Programación Orientada a Objetos en Inicio de C#'.

Espero que lo descrito en este artículo pueda ayudar a todos a diseñar programas C#.

Declaración: El contenido de este artículo se obtiene de la red, pertenece al propietario original, el contenido se contribuye y carga de manera autónoma por los usuarios de Internet, este sitio web no posee derechos de propiedad, no se ha procesado editorialmente y no asume responsabilidades legales relacionadas. Si encuentra contenido sospechoso de infracción de derechos de autor, por favor envíe un correo electrónico a: notice#w proporcionando evidencia relevante, una vez que se verifique, este sitio eliminará inmediatamente el contenido sospechoso de infracción.3Declaración: El contenido de este artículo se obtiene de la red, pertenece al propietario original, el contenido se contribuye y carga de manera autónoma por los usuarios de Internet, este sitio web no posee derechos de propiedad, no se ha procesado editorialmente y no asume responsabilidades legales relacionadas. Si encuentra contenido sospechoso de infracción de derechos de autor, por favor envíe un correo electrónico a: notice#w proporcionando evidencia relevante, una vez que se verifique, este sitio eliminará inmediatamente el contenido sospechoso de infracción.

Te gustará