3460 / 2471 / 695
Регистрация: 02.08.2011
Сообщений: 6,702
1

Передача полей одного класса для редактирования в другом классе

02.10.2012, 21:02. Показов 4971. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приятного времени суток.

Есть такая задача: нужно передать поля одного класса для редактирования в другом классе (оба класса - winforms). Пробовал передавать поля в конструктор второго класса ( с ключевым словом ref),
затем присваиваю эти параметры в конструкторе полям второго класса и их редактирую(поля второго класса), но вот почему-то поля исходного класса остаются неизменными. Что делать?
Вариант делать поля исходного класса public static не предлагать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.10.2012, 21:02
Ответы с готовыми решениями:

Считать данные с одного класса и использовать их в другом классе
У меня есть два класса в программе - 1. Window Form со всеми контролс и переменными и 2....

При создании экземпляра класса в другом классе вылазит ошибка переполнения
using System; using System.Drawing; namespace WindowsFormsApplication4 { /// <summary> ...

Создание события в классе при изменении свойства одного из его полей
Ребят, в общем я недавно начал работать на формах и там есть события (events). Вопрос: можно-ли в...

Передача значения переменной из метода одного класса в метод другого класса
Добрый вечер! Есть основная форма Form1 в которой есть метод private void button1_Click(object...

5
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
02.10.2012, 21:20 2
Передавать ссылку на сам класс, а не только на поле.
Передавать делегат, меняющий поле.
Сделать обертку для поля, позволяющую менять содержимое, и передавать уже ссылку на обертку.
1
3460 / 2471 / 695
Регистрация: 02.08.2011
Сообщений: 6,702
02.10.2012, 21:32  [ТС] 3
А можно передать только ссылку на класс и ничего более?
то есть работать как это организовано в стандартных обработчиках событий.

типа того:
C#
1
2
3
4
5
6
7
                  private void (object sender , eventargs e)
{
          MyClass obj = (MyClass)sender;
          obj.SomeField = ... / и т.д. 
 
 
}
0
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
02.10.2012, 21:38 4
Можно, это 1-й вариант.
C#
1
2
3
4
5
6
7
8
class ClassWithField {
   public int field;
 
   public void CallSecondClass() {
      var secondClass = new SecondClass(this);
      secondClass.someMethod();
   }
}
C#
1
2
3
4
5
6
7
8
9
public class SecondClass() {
   ClassWithField classWithField;
   public SecondClass(ClassWithField classWithField) {
      this.classWithField = classWithField;
   }
   public void someMethod() {
      classWithField.field = 2;
   }
}
1
3460 / 2471 / 695
Регистрация: 02.08.2011
Сообщений: 6,702
02.10.2012, 21:45  [ТС] 5
Спасибо, дружище )
0
93 / 93 / 33
Регистрация: 17.03.2012
Сообщений: 536
03.10.2012, 01:44 6
по-хорошему вообще поля должны быть private
0
03.10.2012, 01:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2012, 01:44
Помогаю со студенческими работами здесь

Привязка одного из полей класса к TextBox
Здравствуйте. Такие дела: Класс человек. Допустим, у него пока только имя. public class...

Использование данных одного класса в другом классе
Подскажите как сделать так что бы значения d1,d2 из первого класса можно было использовать во...

Получение данных от одного класса в другом классе.
Здравствуйте уважаемые программисты. ситуация следующая: Есть класс А. У этого класса есть public...

Указатель на функцию-член одного класса в другом классе - C++
Добрый вечер! Может кто-то может помочь с проблемой. class Cook { public: void ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru