如何在部分类之外使用变量?

时间:2016-08-17 16:50:49

标签: c# partial-classes

我是C#的新手,我对" partial"的想法很陌生。类。

我希望访问"网格"这个" MainWindow"之外的变量类。我该怎么做呢?

enter image description here

3 个答案:

答案 0 :(得分:3)

Partial意味着你的类被分成不同的文件,它与变量暴露给其他类没有任何关系。

您的网格是当前方法中的局部变量,因此其他人无法访问。如果要使其可访问,请将其定义为属性。

public DataGrid Grid { get; set; }

答案 1 :(得分:1)

尽管技术上可行,但您不应在课堂外访问数据网格。网格是您的类管理的视图的一部分,因此通过使表单的实现细节可见,使其他类可访问网格打破了封装。

  

我有另一个班级Server,它会收到我想要添加到grid.ItemSource的数据。

然后,您的Server类应提供表单应绑定到网格的数据源。换句话说,访问应该朝另一个方向发展。

答案 2 :(得分:0)

您需要将变量声明为此类的公共成员

public partial class MainWindow ...
{
   public DataGrid grid;

   public MainWindow()
   {
      ...
   }

   public void DataGrid_Loaded(...)
   {
     ...
     grid = sender as DataGrid;
     ...
   }
}

现在您可以通过这种方式访问​​变量了

var x = MainWindow.grid;