在C#中,是否可以传递类函数(不是静态)作为函数中的参数?在函数中将类/实例函数作为参数传递
出于某种原因,我得到一个函数下载内部的编译错误,因为我传递'class/instance'函数作为参数。
例如:
public class MyPlane {
Texture texture;
virtual public void OnDownloadPlaneCallBack(WWW www) {
// perform custom actions when/if file downloads correctly
texture = www.texture;
}
virtual public void download() {
Downloader.download("www.blah.com", OnDownloadPlaneCallBack); // this gives a compile error?
}
}
public class Downloader {
public static IEnumerator download(string url, Delegate callback) {
WWW www = new WWW(url);
while(!www.isDone)
yield return www;
if (www.isDone) {
callback.DynamicInvoke(www);
}
}
}
'虚拟公共OnDownloadPlaneCallBack'应该是'虚拟公共无效OnDownloadPlaneCallBack'。 – dasblinkenlight 2012-07-23 03:01:57
使用'Action'作为回调。此外,循环后的“if”检查不是必需的。 –
Siege
2012-07-23 03:04:09