Я действительно смущен и надеюсь, что кто-то сможет помочь мне в проблеме, которую я испытываю. Я хочу использовать команду GET для получения значения из новой формы, но мой код перезаписывает параметры, которые я передаю в конструкторе, и я не уверен, почему. Не очень хорошо знаком с C#.Перепутанная переменная перезаписывается
Здесь сценарий, который я использую, когда я нажимаю на определенную кнопку. Это новая форма, где я прохожу в параметры список интерфейсов (параметры будут изменены, и я не хочу):
private void btn_t1_Click(object sender, EventArgs e) {
InterfaceT1 Formulaire_T1 = new InterfaceT1(**this.Liste_T1**);
if (Formulaire_T1.ShowDialog() == DialogResult.OK) {
//I WOULD WANT TO USE THE GET COMMAND HERE ONLY IF I CLICK 'OK' ON THE FORM
}
Formulaire_T1.Dispose();
}
Вот конструктор моей формы Formulaire_T1 для справки:
public InterfaceT1(List<T1> Liste_T1) {
InitializeComponent();
this.Liste_T1s = new List<T1>(Liste_T1); //suggested, does not change anything
UpdateView(0);
}
Методы, которые я использую в Interface_T1
, изменяют Liste_T1s
, но почему он также меняет Liste_T1
в основной функции? Я не возвращаю никакой ценности. Кажется, эта ценность теперь связана? Я знаю, что это должно быть просто, но не понять.
Если я правильно понимаю вашу проблему, похоже, что вы ссылаетесь на один и тот же список в нескольких местах. Из-за этого изменение списка в одном месте будет видно и для другой ссылки. См. Здесь: http://stackoverflow.com/questions/13977841/how-do-i-change-my-new-list-without-changing-the-original-list EDIT: Хм, это не самый большой вопрос, который я связал с , но ответы ниже описывают это. –
Что такое «команда GET»? –
Не указывайте свои формы 'Интерфейс'. Это действительно сбивает с толку. –