C#.NET-作为IList传递时未编译ItemCollection<;类型>;
我无法让代码段2正常工作,所以我不得不将逻辑更改为代码段1。有人能解释一下为什么代码片段#2不起作用吗?我想会的,因为ItemCollection实现了IList接口。。。我知道每个listbox中存储的类型(listbox1是string,listbox2是PictureInfo类型) (注意:PictureInfo是我自己定义的类型) 1: 2:C#.NET-作为IList传递时未编译ItemCollection<;类型>;,c#,.net,collections,types,C#,.net,Collections,Types,我无法让代码段2正常工作,所以我不得不将逻辑更改为代码段1。有人能解释一下为什么代码片段#2不起作用吗?我想会的,因为ItemCollection实现了IList接口。。。我知道每个listbox中存储的类型(listbox1是string,listbox2是PictureInfo类型) (注意:PictureInfo是我自己定义的类型) 1: 2: private void moveimages从集合到集合(IList collectionMoveFrom,IList collectionMo
private void moveimages从集合到集合(IList collectionMoveFrom,IList collectionMoveTo)
{
//循环浏览lstAll列表框中的所有字符串。然后使用每个图片路径进行转换
//每一张图片都被放入自己的课堂
foreach(collectionMoveFrom中的字符串文件)
{
PictureInfo mp=返回PictureInfo类型BasedOffFileExtension(img,文件);
collectionMoveTo.Add(mp);
collectionMoveFrom.Remove(文件);
//...
}
}
//方法调用…参数1 Listbox包含字符串,参数2 Listbox包含PictureInfo类型的对象
将图像从集合移动到集合(列表框1.Items,列表框2.Items);
ItemCollection
未实现IList
IList
(非通用)是一个不同的接口。ItemCollection
不实现IList
IList
(非通用)是一个不同的接口。它继承自IList
接口,但不是IList
接口。它们是不同的,因为后者接受特定类型的对象
它继承自
IList
接口,但不是IList
接口。它们是不同的,因为后者接受特定类型的对象
当你说“我无法让X工作”时,请说明为什么或如何工作,这样我们就不必逐行分析你的代码来找出可能的错误。当你说“我无法让X工作”时,请说明它为什么不工作或如何不工作,这样我们就不必逐行分析您的代码来找出它可能存在的所有问题。
private void MoveImagesFromHCollectionToCollection(ItemCollection collectionMoveFrom, ItemCollection collectionMoveTo)
{
//Loop through All strings in the lstAll list box. Then use each picture path to convert
//each picture into their own class
foreach (string file in collectionMoveFrom)
{
PictureInfo mp = ReturnPictureInfoTypeBasedOffFileExtension(img, file);
collectionMoveTo.Add(mp);
collectionMoveFrom.Remove(file);
//...
}
}
//Method call...
MoveImagesFromHCollectionToCollection(listbox1.Items, listbox2.Items);
private void MoveImagesFromHCollectionToCollection(IList<string> collectionMoveFrom, IList<PictureInfo> collectionMoveTo)
{
//Loop through All strings in the lstAll list box. Then use each picture path to convert
//each picture into their own class
foreach (string file in collectionMoveFrom)
{
PictureInfo mp = ReturnPictureInfoTypeBasedOffFileExtension(img, file);
collectionMoveTo.Add(mp);
collectionMoveFrom.Remove(file);
//...
}
}
//Method call...parameter 1 Listbox contains strings, parameter 2 Listbox contains objects of type PictureInfo
MoveImagesFromHCollectionToCollection(listbox1.Items, listbox2.Items);