【c#】Interface
常规接口
- 声明方法和属性;
- 类继承接口;
public interface ICollapse{
public void Reset();
}
public class Collapse_A: ICollapse{
public void Reset(){
Debug.log("Collapse_A");
}
}
public class Collapse_B: ICollapse{
public void Reset(){
Debug.log("Collapse_B");
}
}
public class UseCollapse{
public void Init(){
//ICollapse collapse_A = new Collapse_A();
//collapse_A.Reset();
Reset(new Collapse_A());
ICollapse collapse_B = new Collapse_B();
collapse_B.Reset();
//Reset(collapse_B);
}
public void Reset<T>(T collapse){
collapse.Reset();
}
}
接口扩展
//空接口
public interface ICollapse{
}
//接口扩展
public static class EICollapse{
//方法的参数中存在this,表示该实例的扩展方法
//注意:此方法必须在实例后执行“collapse.”Reset();
public static void Reset<T> (this T collapse) where T : ICollapse{
Debug.log("reset");
}
}
public class Main{
//使用:
ICollapse collapse = new ICollapse();
collapse.Reset();
}
接口继承
public interface ICollapse{
public void Reset();
}
public interface ICollapsePro:ICollapse{
public void CollapseOptionVisiable(int id);
}
public class Collapse:ICollapsePro{
public void Reset(){
Debug.log("Collapse_B");
}
public void CollapseOptionVisiable(int id){
Debug.log("展开选项"+id);
}
}
```
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律