【问题标题】:public partial class | var公共部分类 |变量
【发布时间】:2014-01-11 19:35:22
【问题描述】:

我正在这样做:

var doc = new XPathDocument(Application.StartupPath + "/InfoR.xml");
var navigator = doc.CreateNavigator();

var Name = navigator.SelectSingleNode("//appsettings/name");

var user = navigator.SelectSingleNode("//appsettings/user");
var PPs = navigator.SelectSingleNode("//appsettings/PPs");
var aze = navigator.SelectSingleNode("//appsettings/aze");

我正在尝试在公共 Partial 课程中阅读这些内容。所以我可以从我的应用程序的任何地方访问名称、用户等。 (Form1.cs) 但正如我所见,不能在那里制作 var ......不像 int , string , float ,......

【问题讨论】:

  • 这样做的目的是什么?你想从 xml 文件中获取用户设置吗?
  • 假设我想让 "user" 到 string ,并使用它。而不是每次都阅读...得到它

标签: c# xml var


【解决方案1】:

这是不可能的。 var 用于方法 的局部变量,而不是。您需要在类级别声明这些变量:

private XPathNavigator Name;
private XPathNavigator user;
private XPathNavigator PPs;
private XPathNavigator aze;

那么无论是哪种方式:

this.Name = navigator.SelectSingleNode("//appsettings/name");

this.user = navigator.SelectSingleNode("//appsettings/user");
this.PPs = navigator.SelectSingleNode("//appsettings/PPs");
this.aze = navigator.SelectSingleNode("//appsettings/aze");

然后该类中的其他方法或其他地方的部分朋友可以访问它。

【讨论】:

    【解决方案2】:

    如果您在方法中声明这些变量,您将只能在该方法中访问它们。如果要在表单的其他方法中使用它们,则需要将它们声明为成员变量。比如:

    public partial class Form1 : Form
    {
        XPathNavigator Name;
        XPathNavigator user;
        XPathNavigator PPS;
        XPathNavigator aze;
    
        public Form1()
        {
            InitializeComponent();
        }
    
        private void Form1_Load(object sender, EventArgs e)
        {
            var doc = new XPathDocument(Application.StartupPath + "/InfoR.xml");
            var navigator = doc.CreateNavigator();
    
            Name = navigator.SelectSingleNode("//appsettings/name");
    
            user = navigator.SelectSingleNode("//appsettings/user");
            PPs = navigator.SelectSingleNode("//appsettings/PPs");
            aze = navigator.SelectSingleNode("//appsettings/aze");
        }
    }
    

    【讨论】:

      【解决方案3】:

      我正确理解您的问题,您很可能正在寻找这样的东西(作为如何检索节点并将其存储到属性中的示例):

      public partial class Form1 : Form
      {
          public Form1()
          {
              InitializeComponent();
          }
      
          public string Name { get; set; }
      
          private void button1_Click(object sender, EventArgs e)
          {
              XPathDocument document = new XPathDocument(Application.StartupPath + "/InfoR.xml");
              XPathNavigator navigator = document.CreateNavigator();
              XPathNavigator node = navigator.SelectSingleNode("//appsettings/name");
              Name = node.InnerXml;
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-31
        • 2014-10-09
        • 2014-02-17
        • 2010-09-20
        • 2013-05-06
        • 2015-07-17
        • 1970-01-01
        • 2012-10-10
        相关资源
        最近更新 更多