C#接口在派生类和外部类中的调用方法示例

发布时间 - 2026-01-10 23:07:24    点击率:

本文实例讲述了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();
}

更多关于C#相关内容感兴趣的读者可查看本站专题:《C#数据结构与算法教程》、《C#遍历算法与技巧总结》、《C#程序设计之线程使用技巧总结》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》

希望本文所述对大家C#程序设计有所帮助。


# C#  # 接口  # 派生类  # 外部类  # 调用  # C#中的应用程序接口介绍及实现  # 密封类与密封方法  # .NET/C#如何判断某个类是否是泛型类型或泛型接口的子类型详解  # C# WebApi 接口返回值不困惑:返回值类型详解  # C#中抽象类与接口的区别详解  # 深入解析C#中的泛型类与泛型接口  # 结合.net框架在C#派生类中触发基类事件及实现接口事件  # C#中类与接口的区别个人总结  # C#中实现判断某个类是否实现了某个接口  # C#抽象类和接口的区别分析  # 解析在C#中接口和类的异同  # 类中  # 多个  # 程序设计  # 相关内容  # 遍历  # 感兴趣  # 数据结构  # 给大家  # 更多关于  # 所述  # 使用技巧  # 面向对象  # 口中  # 操作技巧  # 直接调用  # 隐式  # 讲述了  # pre  # csharp 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  jquery插件bootstrapValidator表单验证详解  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  javascript基本数据类型及类型检测常用方法小结  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  C++用Dijkstra(迪杰斯特拉)算法求最短路径  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  微信推文制作网站有哪些,怎么做微信推文,急?  如何快速搭建虚拟主机网站?新手必看指南  香港服务器建站指南:免备案优势与SEO优化技巧全解析  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  linux写shell需要注意的问题(必看)  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  Laravel如何实现用户密码重置功能?(完整流程代码)  Laravel怎么在Controller之外的地方验证数据  打造顶配客厅影院,这份100寸电视推荐名单请查收  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  Laravel如何处理异常和错误?(Handler示例)  如何做网站制作流程,*游戏网站怎么搭建?  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  如何快速生成ASP一键建站模板并优化安全性?  Laravel如何创建自定义Artisan命令?(代码示例)  Laravel怎么使用artisan命令缓存配置和视图  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  如何构建满足综合性能需求的优质建站方案?  如何在IIS7中新建站点?详细步骤解析  高防服务器:AI智能防御DDoS攻击与数据安全保障  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  如何确保西部建站助手FTP传输的安全性?  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  黑客入侵网站服务器的常见手法有哪些?  EditPlus中的正则表达式实战(5)  Linux系统命令中tree命令详解  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  javascript中的try catch异常捕获机制用法分析  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  浅述节点的创建及常见功能的实现  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  如何用y主机助手快速搭建网站?  中山网站制作网页,中山新生登记系统登记流程?  青岛网站建设如何选择本地服务器?