我得到這些錯誤與此代碼的功能大一(我運行.NET 3.5):這段代碼爲什麼不編譯?
錯誤1:The best overloaded method match for 'LoadPref<A>(string, System.Func<string,A>, A)' has some invalid arguments
錯誤2:Argument '2': cannot convert from 'method group' to 'System.Func<string,A>'
class A : SomeObject
{
}
static class Utilities
{
private T LoadPref<T>(string key, Func<string, T> loaderFunc, T defaultValue)
{
if (Prefs.HasKey(key))
{
return loaderFunc(Prefs.GetString(key));
}
return defaultValue;
}
private T LoadAsset<T>(string assetPath) where T : SomeObject
{
return (T)LoadAssetInSomeWay(assetPath);
}
private void Doit()
{
A asset = LoadPref<A>("key", LoadAsset, null);
}
}
任何人知道什麼是錯的?
我正要回答我自己的問題 - 謝謝! – sirival 2012-07-18 12:00:51