把一个函数作为参数
这种手段最可能常被用到的情况:你给出一些功能的方法接口,其他人可以调用,但是这个方法不是由你来实现,而是根据他们自己的要求去实现。
举例
调用方法:
不带参数
第一步:进入Test(new Action(() => { TestFun(); }),1) ; //延时1s执行TestFun
第二步:传参给Test,延时time(参数1)秒,执行act(参数TestFun());
第三步:进入TestFun(),打印文本;
带参数
(这里的方法实现是读取unity中StreamingAssets文件夹里的视频,转成byte[])
第一步:进入FileReader("001.mp4", new Action<byte[]>(VideoByte));
第二步:传参给FileReader,将指定的视频转byte[],判断Action是否为空,不为空就执行action(content)方法,也就是对byte[]进行处理
第三步:进入VideoByte(byte[] videoByte)方法,这里的videoContent是我public的一个Byte[],用于将FileReader里的视频byte数组content赋值给它