我有一个函数处理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]);
}
但是当选择文件只将最后选择的文件传递给函数时,其他文件只在列表中读取
我想选择多个文件并将其传递给此函数,以便逐个处理这些文件,而无需手动将文件传递给它。
任何人都可以解释如何做到这一点吗?给我一段代码或链接?
答案 0 :(得分:0)
没有看到XmlProcess
的实现,这是一个猜谜游戏。你说这种方法没有按预期工作,但你没有告诉我们这种方法是如何工作的。你怎么能指望有人帮助你?
尽管如此,如果要将多个文件传递给该函数,只需从
更改签名即可void XmlProcess(string file) // should be something very similar
到
void XmlProcess(IEnumerable files)
现在您可以传递一个数组,一个列表或任何其他实现IEnumerable
接口的对象。