Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
289 / 234 / 33
Регистрация: 09.02.2011
Сообщений: 435
1
.NET 3.x

Передача параметров

23.02.2011, 14:28. Показов 1176. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Существует класс newCertificateForm, с которого мне нужно передать ссылку на HowLeftBonusWeeks в класс addBonusWeekForm.
C#
1
2
3
4
5
6
7
8
9
10
11
12
    public partial class newCertificateForm: Form
    {
        TBonusWeek Tbw = new TBonusWeek();  
       Int64 HowLeftBonusWeeks = 0;
 
        public void add_BonusWeek_Click(object sender, EventArgs e)
        {
                TBonusWeek Tbw = new TBonusWeek();
                addBonusWeekForm b = new addBonusWeekForm(Tbw, 0, HowLeftBonusWeeks);
                b.ShowDialog();
         }
    }

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    public partial class addBonusWeekForm : Form
    {
        TBonusWeek Tbw = new TBonusWeek();
        Int64 HowLeftBonusWeeks1;
 
        public addBonusWeekForm(TBonusWeek _Tbw, int i, Int64 _HowLeftBonusWeeks)
        {
            Tbw = _Tbw;
            HowLeftBonusWeeks1 = _HowLeftBonusWeeks;
 
        }
 
        private void BWCountTextBoxValidating(object sender, CancelEventArgs cancelEventArgs)
        {
            HowLeftBonusWeeks1 = 3;
        }
     }
Почему HowLeftBonusWeeks остается равным 0, а не 3?
И ref использовал при вызове. Так писал.
C#
1
2
        addBonusWeekForm b = new addBonusWeekForm(Tbw, 0,ref HowLeftBonusWeeks);
        public addBonusWeekForm(TBonusWeek _Tbw, int i,ref Int64 _HowLeftBonusWeeks)
Что-то никак не пойму!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.02.2011, 14:28
Ответы с готовыми решениями:

Передача параметров
Доброго времени суток всем! Возникла такая проблема, очень прошу помощи. Реализую паттерн MVP....

Передача параметров в функцию
Возник вопрос по передачи параметров в функцию . Есть функции : static void F1(Pk pk, Pk1...

Передача параметров в функцию
Вызываю функцию: Main() { func(a,b); } func(int a1, int a2) { //внутри меняется значения...

Передача в поток параметров
Ку. Надо создать поток, а потом, стартовать с заданными параметрами.. Пробую так: Thread thread =...

2
215 / 215 / 20
Регистрация: 18.05.2010
Сообщений: 865
23.02.2011, 14:52 2
Мне вообще не понятна ваша конструкция? Мне кажется что вы работали в C++ и хотите получить ссылку. Но в C# по другому. При передаче параметров вы можете изменят его только внутри метода. Нет такого как присвоит ссылку и менять его в двух местах.
0
289 / 234 / 33
Регистрация: 09.02.2011
Сообщений: 435
23.02.2011, 15:14  [ТС] 3
Я что-то тоже пойму! А почему тогда с экземпляром класса TBonusWeek Tbw такой способ работает!
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  public  class TBonusWeek
    {
    private Int64 _count = 0;           // количство бонусных недель
     ................
//----------------------------------
    public Int64 count
    {
        get
        {
            return _count;
        }
        set
        {
            _count = value;
        }
    }
//----------------------------------  
    public TBonusWeek()
    { 
    
    }
  }
C#
1
2
3
4
5
6
7
8
9
10
11
12
    public partial class newCertificateForm: Form
    {
        TBonusWeek Tbw = new TBonusWeek();  
       Int64 HowLeftBonusWeeks = 0;
 
        public void add_BonusWeek_Click(object sender, EventArgs e)
        {
                TBonusWeek Tbw = new TBonusWeek();
                addBonusWeekForm b = new addBonusWeekForm(Tbw, 0, HowLeftBonusWeeks);
                b.ShowDialog();
         }
    }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    public partial class addBonusWeekForm : Form
    {
        TBonusWeek Tbw1 = new TBonusWeek();
        Int64 HowLeftBonusWeeks1;
 
        public addBonusWeekForm(TBonusWeek _Tbw, int i, Int64 _HowLeftBonusWeeks)
        {
            Tbw1 = _Tbw;
            HowLeftBonusWeeks1 = _HowLeftBonusWeeks;
 
        }
 
        private void BWCountTextBoxValidating(object sender, CancelEventArgs cancelEventArgs)
        {
            Tbw1.count = 5;
        }
     }
После закрытия формы addBonusWeekForm, значение Tbw.count в классе newCertificateForm будет равным 5

Добавлено через 47 секунд
Почему здесь работает?
0
23.02.2011, 15:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.02.2011, 15:14
Помогаю со студенческими работами здесь

Таймер и передача параметров
Здравствуйте, в общем вопрос в следующем, как можно передать параметр обработчику события Tick ...

Передача параметров процессу
Здравствуйте, уважаемые форумчане) Прошу помочь в следующем: существую два процесса, назовём их...

Передача параметров в поток
Создаю и запускаю потоки так: // CountThreads - кол-во потоков, введенных через поле ввода...

Передача параметров в функцию
Добрый день. Вот есть вопросик. Допустим у меня есть 2 проекта. Первый проект создает объект в...


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

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