Code Bye

C#中接口和委托分别有什么作用呀

能解释下麽
解决方案

40

委托 你就当作是一个 变量 只不过这个变量不是 int 不是 string 而是一个函数的变量
例如
void TEST(string) foo = new void TEST(string)();
foo(“this is a test”);
foo 就是一个 函数的变量 只是实际中不是本人上面那样写的 而是
public delegate void TEST(string strText);
private void Function(string strText) {
    Console.WriteLine(strText);
}
//=====
TEST t = new TEST(Function);
t("this is a test");
//此时 t 就是 void Function(string strText) 的一个变量
而 public delegate {void TEST(string strText)}
则表示 TEST 是一个委托 他可以表示任何一个 void 返回类型 参数是 只有一个string 的函数
只要符合上面条件的函数 都可以用 TEST 来表示

有很多代码中需要用到这样 用函数作为参数的地方 假如控件的事件通知 例如button 的click

而接口 则定义一个规范约束
例如说 本人定义一个usb接口 而且描述这个接口是方形的而不是圆的  那么要使用本人这个接口的东西 你就必须给本人做成方形的接口 不管你是U盘还是鼠标 反正你只要按照本人的标准实现了一个方形的接口就行了
例如程序中 本人要定义插件功能 那么就可以写一个插件的接口 写插件的人继承接口 而程序只是去负责调用接口 而不管具体实现的是什么代码


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#中接口和委托分别有什么作用呀