将方法移动到单独的类

时间:2012-10-26 00:18:19

标签: c# xml

我有一个名为Beginning的Windows窗体中的方法,它从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);
    }

}

有办法做到这一点吗? 另外,我如何从我的Beginning表单类中调用它?

2 个答案:

答案 0 :(得分:1)

这样的事情应该是(未经测试)

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;
  }
}

然后你从表单中调用它:

myListBox.Items.AddRange(MyReaderClass.ReadNames("runner.xml"));

答案 1 :(得分:1)

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);
}