【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);
}
}
```