我不明白为什么我无法将IEnumerable<Person>
方法返回的值分配给同一类型。我收到的消息是:
无法将源类型
IEnumerable<Person>
转换为目标类型IEnumerable<Person>
。
任何人都可以建议这段代码有什么问题:
public IEnumerable<Person> GetPeople(IEnumerable<int> Ids)
{
return FindAll(m => Ids.Contains(m.Id)).ToList();
}
调用此方法后尝试分配相同类型的值:
IEnumerable<Person> people = _myRepository.GetPeople(listOfIds);
我可以分配给var,但是我想在类范围内声明这个变量,所以我被卡住了。
答案 0 :(得分:2)
在这种情况下,您必须使用Person with namespace:
public IEnumerable<[Namespace]> GetPeople(IEnumerable<int> Ids)
{
return FindAll(m => Ids.Contains(m.Id)).ToList();
}
IEnumerable<[Namespace].Person> people = _myRepository.GetPeople(listOfIds);
[Namespace] - 存储Person
类型的命名空间