传递多个文件来运行

时间:2015-09-13 21:44:19

标签: c# openfiledialog

我有一个函数处理xml文件后由OpenFileDialog确定它并且它支持多个文件选择

                    openFileDialog1.Multiselect = true;
                    openFileDialog1.Filter = "*.xml|*.XML";
                    openFileDialog1.Title="Please Select Xml file to convert ";
                    if (openFileDialog1.ShowDialog(this) == DialogResult.OK)
                    {
                        foreach (string file in openFileDialog1.FileNames)
                        {
                           //string lsit contain file names
                            Filestoconvert.Add(file);
                        }
                    }

和函数make进程。

               for (int i = 0; i < Filestoconvert.Count; i++)
                {
                    XmlProcess( Filestoconvert[i]);
                }

但是当选择文件只将最后选择的文件传递给函数时,其他文件只在列表中读取 我想选择多个文件并将其传递给此函数,以便逐个处理这些文件,而无需手动将文件传递给它。

任何人都可以解释如何做到这一点吗?给我一段代码或链接?

1 个答案:

答案 0 :(得分:0)

没有看到XmlProcess的实现,这是一个猜谜游戏。你说这种方法没有按预期工作,但你没有告诉我们这种方法是如何工作的。你怎么能指望有人帮助你?

尽管如此,如果要将多个文件传递给该函数,只需从

更改签名即可
void XmlProcess(string file) // should be something very similar

void XmlProcess(IEnumerable files)

现在您可以传递一个数组,一个列表或任何其他实现IEnumerable接口的对象。