代码之家  ›  专栏  ›  技术社区  ›  Sangram Nandkhile Viktor Klang

非静态字段、方法或属性需要对象引用

  •  -1
  • Sangram Nandkhile Viktor Klang  · 技术社区  · 14 年前

    我正在尝试制作一个小型控制台应用程序,它将写入xml文档。 我使用了xmldocument和xmlnode概念。

    我得到的错误是;

    *非静态字段、方法或属性“Write”需要对象引用_xml.Program.give_节点(System.Xml.XmlDocument文件)'C:\文档和设置\管理员\桌面\写入xml \写入xml\程序.cs*

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Xml;
    using System.Xml.Linq;
    
    namespace Write_xml
    {
        class Program
        {
    
    
            static void Main(string[] args)
            {
                XmlDocument doc = new XmlDocument();
                XmlDocument lets = new XmlDocument();
                string path = @"D:\XMLFile.xml";
    
                doc.Load(path);
    
    
                XmlNode Rootnode = doc.SelectSingleNode("Number");
    
                XmlNode TakenOde = give_node(doc);
                Rootnode.AppendChild(TakenOde);
                doc.Save(path);
    
    
            }
    
    
            public XmlNode give_node(XmlDocument lets)
            {
                  // On this xmldoc we will perform XMLNODE operations
                  // for creat new nods and append child nodes
                  //XmlNode RootNode = xmldoc.CreateElement("Root");
    
                  XmlNode PersonsNode = lets.CreateElement("Person");
    
    
                  XmlNode NameNode = lets.CreateElement("Name");
                  PersonsNode.AppendChild(NameNode);
                  NameNode.InnerText = "1st";
    
    
                  XmlNode AgeNode = lets.CreateElement("Age");
                  PersonsNode.AppendChild(AgeNode);
                  AgeNode.InnerText = "2nd";
    
    
                  XmlNode CityNode = lets.CreateElement("City");
                  PersonsNode.AppendChild(CityNode);
                  CityNode.InnerText = "3rd";
    
                  return PersonsNode;
    
              }
    
        }
    
    }
    

    1 回复  |  直到 13 年前
        1
  •  2
  •   Jon Skeet    14 年前

    你想打电话给 实例

    最简单的解决方法是 give_node 方法 static

    我还没有看代码的其余部分,看它是否正常,尽管 给出节点 GiveNode 遵循.NET命名约定。