// 定义一个接口 public interface IMyInterface { void DoSomething(); } // 隐式实现接口的类 public class MyClass : IMyInterface { // 直接实现接口方法,无需额外限定 public void DoSomething() { Console.WriteLine("隐式实现接口方法"); } }
// 定义一个接口 public interface IMyInterface { void DoSomething(); } // 显式实现接口的类 public class MyClass : IMyInterface { // 显式实现接口方法,需要指定接口名 void IMyInterface.DoSomething() { Console.WriteLine("显式实现接口方法"); } }
MyClass myClass = new MyClass(); // 通过类实例访问 myClass.DoSomething(); IMyInterface myInterface = myClass; // 通过接口引用访问 myInterface.DoSomething();
MyClass myClass = new MyClass(); // 以下代码会编译错误,不能通过类实例直接访问显式实现的接口方法 // myClass.DoSomething(); IMyInterface myInterface = myClass; // 通过接口引用访问 myInterface.DoSomething();
public
访问修饰符,因为它们被视为类的公共方法。public class MyClass : IMyInterface { // 必须使用 public 修饰符 public void DoSomething() { Console.WriteLine("隐式实现接口方法"); } }
public class MyClass : IMyInterface { // 不能使用访问修饰符 void IMyInterface.DoSomething() { Console.WriteLine("显式实现接口方法"); } }
public interface IInterface1 { void Method(); } public interface IInterface2 { void Method(); } public class MyClass : IInterface1, IInterface2 { // 显式实现接口方法,避免方法调用歧义 void IInterface1.Method() { Console.WriteLine("实现 IInterface1 的 Method 方法"); } void IInterface2.Method() { Console.WriteLine("实现 IInterface2 的 Method 方法"); } }
在上述示例中,MyClass
实现了两个包含同名方法 Method
的接口,通过显式实现可以明确区分不同接口的方法。
这个也算最简单的了。只为只考虑三位数。
-- 钟铧若岩这个oracle的内部机制,不清楚啊。
-- 钟铧若岩
Copyright © 2025 钟铧若岩
Powered by .NET 9.0 on Kubernetes
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?