我在RIA Services中使用了一个类,其类型为
List<int>
这是曝光为
IEnumerable<int>
任何原因导致RIA无法将其作为IList或仅列出?
IEnumerable不是要公开的预期接口。更糟糕的是,返回的类型是一个数组int [],当我在客户端转换为IList时,它是固定大小的,因此无法添加到。
有什么建议吗?
答案 0 :(得分:1)
请发布您的财产声明的副本,或者您正在使用的对象的整个对象声明。另外我建议您使用IList而不是List,因为它更灵活,可能会在将来为您提供更好的可重用性。
答案 1 :(得分:0)
猜测为什么所有内容都被公开为IEnumerable而不是普通列表或数组是因为IEnumerable具有扩展的功能。
将IEnumerable转换为所有其他类型的列表 - 数组非常容易。 只需添加System.Linq命名空间,并在任何IEnumerable实例上使用.ToList()或.ToArray()扩展。