Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 自定义对象集合无法强制转换到列表_Asp.net_Vb.net_Collections_Generic Collections - Fatal编程技术网

Asp.net 自定义对象集合无法强制转换到列表

Asp.net 自定义对象集合无法强制转换到列表,asp.net,vb.net,collections,generic-collections,Asp.net,Vb.net,Collections,Generic Collections,我有一个自定义对象 Public Class oPerson private properties ... public properties ... End Class 然后我有一个歌剧集(歌剧集): 多年来一直运行良好,但现在我想对oPeople使用一些收集功能,例如: oPeople.Take(5) 我收到这个错误: 无法将类型为“System.Collections.Generic.List`1[BusinessLayer.DataContainer.oPerson]”的对象强制转换

我有一个自定义对象

Public Class oPerson
private properties
...
public properties
...
End Class
然后我有一个歌剧集(歌剧集):

多年来一直运行良好,但现在我想对oPeople使用一些收集功能,例如:

oPeople.Take(5)
我收到这个错误:

无法将类型为“System.Collections.Generic.List`1[BusinessLayer.DataContainer.oPerson]”的对象强制转换为类型为“BusinessLayer.DataContainer.oPeople”

除了从以下位置更改代码之外:

Dim students As BusinessLayer.DataContainer.oPeople = GetStudents()
致:


我想保留我的Opople类。

你如何处理Opople的
结果。取(5)
?你能展示相关的代码吗?将它用作网格或中继器控件的数据源。我测试了你的代码(翻译成C#),没有问题。即使您只是将
Dim result作为新列表(oPerson)
result.AddRange(oPeople.Take(5))
,也会发生异常吗?
oPeople.Take(5)
将返回一个
IEnumerable(oPerson)
。让我猜猜:你在打电话给ToList?这将返回一个
列表(操作人员)
,而不是
操作人员
对象。您需要做的是创建一个
oPeople
对象,调用它的
AddRange
方法,并传入
IEnumerable(Of oPerson)
.Oops!只是注意到@ConnorsFan已经发布了基本相同的建议。
Dim students As BusinessLayer.DataContainer.oPeople = GetStudents()
Dim students as List(Of BusinessLayer.DataContainer.oPerson) = GetStudents()