SamHou's Blog IconSamHou's Blog

Csharp接口进阶

C# 教程2022-12-30

我就是手贱
#csharp#csharp图解教程

本文补充 C# 显式接口成员实现的用法,说明当一个类实现多个包含同名方法的接口时,如何分别提供实现,以及这些成员为何不能直接通过类实例访问。文章通过代码示例演示使用接口引用和显式类型转换调用对应方法,帮助处理接口成员重名并厘清接口与类的访问方式。

在这篇文章里,曾经讲解过C#接口的基本概念。掌握这些基本概念后,本文将补充一个进阶内容。

显式接口成员实现

  • 该功能用于为同一个类中实现的不同接口创建不同的方法(方法名称相同)
  • 语法:
interface I1{void Method(string s);}
interface I2{void Method(string s);}
class MyClass:I1,I2
...
void I1.Method(string s){...}
void I2.Method(string s){...}
  • 当以上面的方式来创建类中的方法时,仅能通过接口引用访问该方法,无法通过类的引用来访问,即使是同一个类中的方法也不行
  • 针对以上问题,可以通过强制转换来进行,举个例子:((I1)MyClass1).Method

无内鬼,来点评论

提示:复制文章链接,贴入 Fedi 软件的搜索框,可以快速找到文章对应的评论区!

还没有评论,去 Fediverse 上喵两句如何?