Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.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# - Fatal编程技术网

如何在C#中从一个类访问另一个类的变量?

如何在C#中从一个类访问另一个类的变量?,c#,C#,我是C#的新手,所以我知道这是一个新手问题。我一直在这个网站上搜索类似的问题,但没有找到任何 我有两个表单:MainForm和EditFormMainForm有一个类实例,如下代码所示: public partial class Form1 : Form { ... RSSSourcesLibrary NewsSourcesCollection = new RSSSourcesLibrary(); ... } (在第

我是C#的新手,所以我知道这是一个新手问题。我一直在这个网站上搜索类似的问题,但没有找到任何

我有两个表单:
MainForm
EditForm
MainForm
有一个类实例,如下代码所示:

       public partial class Form1 : Form
    {
        ...
        RSSSourcesLibrary NewsSourcesCollection = new RSSSourcesLibrary();
        ...
    }
(在第三个文件中,在其他地方定义了
RSSSourcesLibrary
类)


如何从
EditForm
访问
NewsSourcesCollection

由于您是从MainForm创建EditForm,因此在MainForm中创建时需要将其标记为所有者(使您能够从EditForm访问所有者属性)

EditForm editForm = new EditForm();
editForm.ShowDialog(this);
在MainForm中创建EditForm

EditForm editForm = new EditForm();
editForm.ShowDialog(this);
从编辑表单访问

var value = ((MainForm)this.Owner).NewsSourcesCollection;

在MainForm中将NewsSourcesCollection声明为公共属性的位置

是否从MainForm创建EditForm?@Magnus是。EditForm的实例在MainForm事件处理程序中创建。我希望能够从EditForm中的事件处理程序访问NewsSourcesCollection看起来像是创建EditForm send NewsSourcesCollection时的可能副本的副本
EditForm editForm = new EditForm();
editForm.ShowDialog(this);