在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