我得到这些错误与此代码的功能大一(我运行.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