Как назначить свойство класса для указания на переменную формы Windows - PullRequest
0 голосов
/ 16 сентября 2018

У меня есть класс KeyWordsManager

public class KeyWordsManager
{
public Designation designation { get; set; }

public KeyWordsManager(ref Designation design)
{
this.designation=design;
}
}


И у меня есть моя форма окна, которая имеет "глобальное переменное обозначение"

public partial class NewJob : Form
{
//some code
    private Designation newJobDesignation=new Designation();

 private void NewJob_Load(object sender, EventArgs e)
    {
        KeyWordsManager manager = new KeyWordsManager(ref newJobDesignation);
    }
}


Проблема в том, что когда я хочу изменить переменную newJobDesignation в моей форме, и когда я пытаюсь установить значение для некоторого текстового поля из класса KeyWordsManager, оно не изменяется, как если бы оно не ссылалось на объект в классе формы.

У меня та же схема, но вместо своего пользовательского класса обозначения я использовал ComboBox и работает хорошо.
Кто-нибудь знает в чем проблема?Я хотя бы ключевое слово ref решило бы проблему, но это не так.Я упомянул это хорошо или, возможно, есть проблема за пределами этой части кода

1 Ответ

0 голосов
/ 16 сентября 2018

Я не совсем уверен в том, что вы пытаетесь сделать, но следующая функция создает новый локальный KeyWordsManager, который выходит из области видимости (в конце концов, сборщик мусора) при выходе из функции.

private void NewJob_Load(object sender, EventArgs e)
{
   KeyWordsManager manager = new KeyWordsManager(ref newJobDesignation);
}
...