因为项目原因最近要使用C#进行编程,于是每天现学现卖一点一点的进行开发。之前很长的时间一直使用C和C++进行编程,于是转到C#一开始开始不是特别适应的,特别是C#这门语言没有了指针,感觉编程的 灵活度马上就下降了,我狂野指针好像再也不能随意点击我想要的内存了,上网找方法,看到C#的方法--------委托。
C#的委托和函数指针很像很像,
(1)自定义一个与要指向的方法格式相匹配的的委托。
如:public void delegate MyDelegate<T>(T arg);
(2)创建委托实例,将方法名作为参数
方法:void MyStrinig(string arg){……};
委托实例:MyDelegate<string> strTarget = new MyDelegate<string>(MyString);
(3)通过调用委托对象来间接调用方法:
strTarget("some data");
也可以是:strTarget.Invoke("some data");
7 - 28
泛型Action<> 和 Fun<>委托
Action的使用方法和上面类似,但是不用自己定义,在mscorlib.dll和System.Core.dll的System命名空间中
Action<>支持高达16个参数,但是返回值只能是void
Fun<>同样支持16个参数并具有自定义的返回值的方法,Fun<>最后一个类型参数总是方法的返回值。
未完待续……
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)