Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
babaevkamil
5 / 5 / 3
Регистрация: 17.10.2012
Сообщений: 116
Завершенные тесты: 1
1

Глобальные переменные. Присвоение в другом классе

27.06.2015, 17:08. Просмотров 395. Ответов 6
Метки нет (Все метки)

Есть класс/форма. В нем заданы несколько глобальных переменных.
В другом классе/форме создается экземпляр и присваивается значение тем глобальным переменным.
Беда в том, что при возвращении в первоначальный класс/форму, значения снова об-null-яются =/
Что я делаю не так? В обоих классах/формах есть экземпляр другого класса/формы. Может быть это причиной?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2015, 17:08
Ответы с готовыми решениями:

Как использовать объект класса, созданого в определеном классе, в другом классе
У меня такой вопрос,как использовать объект класса,созданого в определеном...

Как использовать информацию парсированую в 1 классе в другом классе
имеются 2 класса , объясните плз в чём ошибка using System; using...

Глобальные переменные
Здравствуйте! У меня есть 2 файла cs в одном проекте (допустим Main.cs и...

Глобальные переменные
У меня есть класс глобальных переменных static class Global { ...

Глобальные переменные класса
Всем привет! Существует класс в котором существует пару глобальных переменных....

6
Vigelforts
141 / 117 / 26
Регистрация: 07.12.2014
Сообщений: 371
27.06.2015, 17:12 2
Так а Вы уверены что это один и тот же объект?Наверняка у вас каждая форма содержит свой конкретный экземпляр объекта.Да ещё и пересоздает его каждый раз при заходе в форму
0
babaevkamil
5 / 5 / 3
Регистрация: 17.10.2012
Сообщений: 116
Завершенные тесты: 1
27.06.2015, 17:37  [ТС] 3
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public partial class MainWindow : Form
    {
        public MainWindow()
        {
            InitializeComponent();
        }
 
        Login log = new Login(); 
        public WhoAmI _whoAmI;
        public UserFullInfo _userFullInfo;
        private void MainWindow_Load(object sender, EventArgs e)
        {
            .....
                log.ShowDialog();
            ...........
         }
.....
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public partial class Login : Form
    {
        public Login()
        {
            InitializeComponent();
        }
 
        private void Login_Load(object sender, EventArgs e)
        {
         ......
        }
 
        private void OKbutton_Click(object sender, EventArgs e)
        {
            ShikiAPI shiki = new ShikiAPI();
            Methods met = new Methods();
            MainWindow mWin = new MainWindow();
            .......
 
            mWin._whoAmI = shiki.WhoAmI(login, access_token);
            mWin._userFullInfo = shiki.UsFullInfo(login, access_token);
            .............
       }
Добавлено через 33 секунды
Vigelforts, как то так выглядят у меня классы. Они в разных файлах, но под одним пространством имён.
0
Vigelforts
141 / 117 / 26
Регистрация: 07.12.2014
Сообщений: 371
27.06.2015, 17:43 4
Ну так о чем я и говорю.
MainWindow mWin = new MainWindow();
Создание нового объекта. Следовательно _whoAmI будет свой у этого объекта.После чего, наверняка, при переходе в другую форму вы опять же создаете новое окно и его отображаете. У него, конечно же, будет свой _whoAmI. Сделайте WhoAmI синглтоном и всё будет в порядке
0
babaevkamil
5 / 5 / 3
Регистрация: 17.10.2012
Сообщений: 116
Завершенные тесты: 1
27.06.2015, 17:49  [ТС] 5
Vigelforts, WhoAmI - вы про тип или метод?
P.S.
C#
1
public WhoAmI WhoAmI(string user_nickname, string access_token)
0
Vigelforts
141 / 117 / 26
Регистрация: 07.12.2014
Сообщений: 371
27.06.2015, 17:53 6
babaevkamil, про тип конечно.Я просто не знаю что и для чего происходит в этой программе поэтому первое что могу придумать это синглтон.
0
Баир
17 / 17 / 9
Регистрация: 23.02.2015
Сообщений: 86
27.06.2015, 17:55 7
Почитайте про паттерн синглтон(в дотнете нету понятия глобальная переменная)
0
27.06.2015, 17:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2015, 17:55

Переменная изменилась в одном классе, куда "воткнуть" код в другом классе
Привет всем, Достало это событийное программирование. :wall: Я не делаю...

Как объявлять глобальные переменные в с#?
В общем, хочу написать программу рисования линий из одной точки. То есть по...

Глобальные переменные для всего решения
Здравствуйте! Есть решение, в нем несколько проектов, подскажите как можно...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru