Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.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
C#.NET-作为IList传递时未编译ItemCollection<;类型>;_C#_.net_Collections_Types - Fatal编程技术网

C#.NET-作为IList传递时未编译ItemCollection<;类型>;

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

我无法让代码段2正常工作,所以我不得不将逻辑更改为代码段1。有人能解释一下为什么代码片段#2不起作用吗?我想会的,因为ItemCollection实现了IList接口。。。我知道每个listbox中存储的类型(listbox1是string,listbox2是PictureInfo类型)

(注意:PictureInfo是我自己定义的类型)

1: 2:
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);