Как использовать переменную вне частичного класса?

Я новичок в C #, и я новичок в идее «частичных» классов.

Я хочу получить доступ к переменной «grid» за пределами этого класса «MainWindow». Как мне это сделать?

введите описание изображения здесь

c#,partial-classes,

-3

Ответов: 3


3 принят

Частичный означает, что ваш класс разделен между разными файлами, он не имеет ничего общего с воздействием переменных на другие классы.

Ваша сетка является локальной переменной в вашем текущем методе, поэтому она недоступна для других. Если вы хотите сделать его доступным, определите его как свойство.

public DataGrid Grid { get; set; }

1

Даже если это технически возможно, вы не должны сделать свою сетку данных доступной вне класса. Сетка является частью представления, управляемого вашим классом, поэтому создание сетки, доступной для других классов, прерывает инкапсуляцию, делая детали реализации вашей формы видимыми.

У меня есть другой класс, Serverи он получает данные, которые я хочу добавить grid.ItemSource.

Затем ваш Serverкласс должен предоставить источник данных, к которому ваша форма должна связывать сетку. Другими словами, доступ должен идти в другом направлении.


0

Вы должны объявить переменную как публичный член класса, подобный этому

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

   public MainWindow()
   {
      ...
   }

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

Теперь вы можете получить доступ к переменной таким образом

var x = MainWindow.grid;
C #, частичные-классы,
Похожие вопросы