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

Примеры вызова интерфейсов в производных классах и внешних классах на 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)
    {
      // способ вызова 1
      IPersonalService p = new PersonalService();
      PersonalDTO dto = p.QueryByUid(userId);
      //Способ вызова之二
      PersonalService p2 = new PersonalService();
      IPersonalService p3 = (IPersonalService)p2;
      PersonalDTO dto = p3.QueryByUid(userId);
    {}
{}

При вызове метода интерфейса во внешнем классе сначала нужно указать пространство имён, в котором находится интерфейс, а затем выполняются те же шаги, что и при вызове метода в производном классе.

Внешний класс может также вызывать интерфейс, если после его имени указать пространство имён, в котором находится интерфейс, и声明 переменную типа интерфейса, например.

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

Читатели, которые интересуются дополнительной информацией о C#, могут посмотреть专题 статьи на нашем сайте: "Учебник по структурам данных и алгоритмам на C#", "Обзор алгоритмов и приемов на C#", "Обзор приемов использования потоков на C#", "Учебник по常用 контролам WinForm", "Обзор приемов работы с массивами на C#" и "Учебник по面向 объектному программированию на C#".

Надеюсь, что информация, изложенная в этой статье, поможет вам в программировании на C#.

Заявление: содержимое этой статьи взято из интернета, авторские права принадлежат соответствующему автору, контент предоставлен пользователями интернета, сайт не владеет авторскими правами, не выполняет ручную редактуру и не несет ответственности за соответствующие юридические последствия. Если вы обнаружите контент,涉嫌侵犯版权, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (во время отправки письма замените # на @) для подачи жалобы,并提供 соответствующие доказательства. Если подтвердится, сайт немедленно удалят涉嫌侵权的内容。

Рекомендуем