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);

            //调用方式二
            PersonalService p2 = new PersonalService();
            IPersonalService p3 = (IPersonalService)p2;
            PersonalDTO dto = p3.QueryByUid(userId);
        }
}

在外部类中调用一个接口的方法时先引用接口所在的命名空间而后的步骤和在接口的派生类中调用方式相同。

在外部类中引用接口所在的命名空间后声明一个接口类型的属性也可以调用该接口,如下。

public IPersonalService pService{get;set;}

public void getInfo()
{
        pService.getInfo();
}




原文地址:https://www.cnblogs.com/wangzl1163/p/6341123.html