Почему объект равен null

173
06 апреля 2019, 10:00

Есть простейший класс, не могу понять почему не могу сослаться на ранее созданный объект?

public partial class MainWindow : Window
{
    public MyRepository MainRepo;
    public MainWindow()
    {
        MyRepository MainRepo = new MyRepository();
        InitializeComponent();
        DataContext = MainRepo;
    }        
    private void AddMyButton_Click(object sender, RoutedEventArgs e)
    {

        ....
        MainRepo.AddMy(TempMy);
     }

Почему MainRepo в обработчике нажатия равен null? При запуске программы с трассировкой - в метод MainWindow попадает, объект MainRepo создается

Answer 1
MyRepository MainRepo = new MyRepository();

Т.к. вы указываете тип объекта, то MainRepo остается локальной для конструктора MainWindow

просто уберите MyRepository :

MainRepo = new MyRepository();

или сохраните референс в поле объекта (но это будет странное решение) :

MyRepository MainRepo = new MyRepository();
this.MainRepo = MainRepo;
READ ALSO
Сериализация XML и XMLChoiceAttribute

Сериализация XML и XMLChoiceAttribute

Пытаюсь сериализовать простой объект:

215
Как получить путь к *.exe службы Windows через ServiceController

Как получить путь к *.exe службы Windows через ServiceController

В системе имеется установленная службаУправление ею из другого приложения осуществляется через ServiceController:

308
прекращение работы Microsoft visual studio 2017

прекращение работы Microsoft visual studio 2017

При попытке обновить таблицу в бд в microsoft visual studio 2017 вылетает из программы, после захода в программу созданная таблица исчезает (скорее всего...

165
Помогите с кодом для DFS с рекурсией

Помогите с кодом для DFS с рекурсией

Помогите с кодом на C# для рекурсивного поиска пути в графе

148