C# 从Linq查询返回IEnumerable
我试图从linq查询返回IEnumerable,但得到错误: 无法将IEnumerable转换为IEnumerable 我不知道如何着手解决这个问题C# 从Linq查询返回IEnumerable,c#,linq,ienumerable,C#,Linq,Ienumerable,我试图从linq查询返回IEnumerable,但得到错误: 无法将IEnumerable转换为IEnumerable 我不知道如何着手解决这个问题 private IEnumerable<string> GetAllMembers(Type type) { var query = (from member in type.GetMembers() select new
private IEnumerable<string> GetAllMembers(Type type)
{
var query =
(from member in type.GetMembers()
select new
{
Member = member.GetType() + " " + member.ToString()
}
);
return query;
}
您正在创建具有成员属性的匿名类型。只需返回字符串值,就可以使用IEnumerable
您正在创建具有成员属性的匿名类型。只需返回字符串值,就可以使用IEnumerable 试试这个
private IEnumerable<string> GetAllMembers(Type type)
{
var query =
from member in type.GetMembers()
select member.GetType() + " " + member.ToString();
return query;
}
您正在创建匿名类型的IEnumerable,而我认为您只是想要字符串的枚举。试试这个
private IEnumerable<string> GetAllMembers(Type type)
{
var query =
from member in type.GetMembers()
select member.GetType() + " " + member.ToString();
return query;
}
您正在创建匿名类型的IEnumerable,而我认为您只需要字符串的枚举。您正在从查询返回由new{}构造的匿名类型,而不是字符串。 例如,您可以像这样修改查询,因此结果是IEnumerable:
您正在从查询返回由new{}构造的匿名类型,而不是字符串。 例如,您可以像这样修改查询,因此结果是IEnumerable:
问题是您的查询返回一个匿名对象,其中一个属性成员是字符串,只需更改为仅返回字符串:
var query =
(from member in type.GetMembers()
select member.GetType() + " " + member.ToString()
);
return query;
问题是您的查询返回一个匿名对象,其中一个属性成员是字符串,只需更改为仅返回字符串:
var query =
(from member in type.GetMembers()
select member.GetType() + " " + member.ToString()
);
return query;
使用ToList将解决您的问题problem@Nick-不,不会。使用ToList可以解决您的问题problem@Nick-不会的。