Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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# 将方法移动到单独的类_C#_Xml - Fatal编程技术网

C# 将方法移动到单独的类

C# 将方法移动到单独的类,c#,xml,C#,Xml,我在Windows窗体中有一个名为start的方法,它从xml中读取名称并将其显示在列表框中。我想将该方法移到一个单独的类中,该类只处理读取xml名称的问题。这是我想转移到另一个类中的函数 public void readNames() { string path = "runners.xml"; //path XDocument xDoc = XDocument.Load(path); foreach (XElement element in xDoc.Descenda

我在Windows窗体中有一个名为start的方法,它从xml中读取名称并将其显示在列表框中。我想将该方法移到一个单独的类中,该类只处理读取xml名称的问题。这是我想转移到另一个类中的函数

public void readNames()
{
    string path = "runners.xml"; //path
    XDocument xDoc = XDocument.Load(path);
    foreach (XElement element in xDoc.Descendants("Name"))
    {
        myListBox.Items.Add(element.Value);
    }

}
有办法做到这一点吗?
另外,从我开始上课的时候,我该怎么称呼它呢?

类似的东西应该有用(未经测试)

public static class MyReaderClass
{
  public static List<string> ReadNames(string path)
  {
    var items = new List<string>();

    XDocument xDoc = XDocument.Load(path);
    foreach (XElement element in xDoc.Descendants("Name"))
    {
      items.Add(element.Value);
    }

    return items;
  }
}
公共类MyXMLNamesReader
{
公共静态列表readNames(字符串路径)
{
列表名称=新列表();
XDocument xDoc=XDocument.Load(路径);
foreach(xDoc.substands(“名称”)中的XElement元素)
{
name.Add(element.Value);
}
返回姓名;
}
}
用法
List name=MyXMLNamesReader.readNames(“runners.xml”);
foreach(名称中的字符串名称)
{
myListBox.Items.Add(名称);
}
myListBox.Items.AddRange(MyReaderClass.ReadNames("runner.xml"));
public class MyXMLNamesReader
{
    public static List<string> readNames(string path)
    {
        List<string> names = new List<string>();
        XDocument xDoc = XDocument.Load(path);
        foreach (XElement element in xDoc.Descendants("Name"))
        {
            names.Add(element.Value);

        }
        return names;
    }

}
List<string> names = MyXMLNamesReader.readNames("runners.xml");
foreach(string name in names)
{
   myListBox.Items.Add(name);
}