【问题标题】:Acessing variables on other forms, object required error访问其他表单上的变量,对象需要错误
【发布时间】:2014-04-23 02:07:36
【问题描述】:

这是一个我一直难以理解的常见问题

我有一个form2和一个form1

在 form2 上,我以这种方式在 form2 类上创建了一个公共变量:form

 public partial class form2 : Form
 {
    public string xmlDialogconstante { get; private set; }
 }

它应该在 form2 和 form1 上可用 我正在尝试使用以下方式在 form1 上给她打电话

form2.xmlDialogconstante

每次都会出错,说需要引用,这是什么意思?

【问题讨论】:

    标签: c# variables scope


    【解决方案1】:

    这是一个实例属性,您需要创建Form2 的实例以访问xmlDialogconstante 或使其静态

    你可以像这样创建一个实例并访问你的属性,但是如果你在访问之前没有初始化它,你会得到null

    form2 f = new form2();
    string value = f.xmlDialogconstante;
    

    【讨论】:

    • 它们有什么区别?尽管我听说过它们,但我不太确定它是什么实例,但是您做对了,将其设为静态确实可以解决错误,但是我担心当 form2 进行更改时,它不会更新为 form1。如果我想使用“实例”模式,我应该怎么做? @Selman22
    • form2 f = new form2(); 看起来不错,但如果我有其他公共变量打算作用域,当我在 form1 上创建 form2 时,我是否必须定义所有这些变量
    猜你喜欢
    • 1970-01-01
    • 2016-07-15
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    相关资源
    最近更新 更多