您选择的是映射函数,而不是使用它进行映射的结果。
List<T> getMyObjects(List<string> myData, Func<string, T> selector) where T : class
{
return (from s in myData select selector).ToList();
}
应该是的
List<T> getMyObjects(List<string> myData, Func<string, T> selector) where T : class
{
return (from s in myData select selector(s)).ToList();
// ^^^ get the result of your selector delegate against the string.
}
正如@Camilo Terevinto所指出的,可以进一步简化为:
List<T> getMyObjects(List<string> myData, Func<string, T> selector) where T : class
{
return myData.Select(selector).ToList();
}