powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / WinForms.Если не глобальные переменные, то что же?
23 сообщений из 23, страница 1 из 1
WinForms.Если не глобальные переменные, то что же?
    #38484974
student13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Есть кнопка, текст которой меняется "Показать/Скрыть". Есть необходимость иметь глобальный флаг private Boolean IsShown, на который не только текст кнопки ориентирован, но и многое другое.
2. Есть TadaTable или коллекция, в общем, хранилище, в которое загружаются данные из базы и с ними в рахных методах разное происходит. Опять же, где всю эту радость глобально хранить, кроме как не в private DataTable dtTable?

Натыкался на некоторые общие рекомендации по заворачиванию таких переменных в методы, которые их возвращают. Не понимаю, как это здесь поможет.

Если оформить их в виде свойств, get-set, то что изменится, кроме появления дополнительных строк в коде?

Неужели сборщик мусора как-то лучше в этом случае работать будет?
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38484978
ALOTE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если что, это не я под другим ником троллю.
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38484991
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
student13,
ну первое, как вы понимаете слово глобально, глобально в контексте формы? ( судя по вопросу это так)
или глобально в контексте приложения ( если бы вопрос был задан в этом ключе, то форма тут вообще не уместна, так же как и Украина)
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485031
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALOTE,
Ну а что тут тролить, если переменная участник типа и никуда ее выставлять не надо обычное закрытое поле подойдет, если
объект участвует в логике ( обособленной логике в контексте типа - расширяет тип) или обладает специфической логикой доступа , или является шаблонным для проектирования чего то, то ему место в базовом классе в виде поля.., тем более в контролах это шаблонное решение.
- расширение функционала контрола
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485040
ALOTE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи,

Как я понял, в вопросе DataTable берется из внешнего объекта.
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485044
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALOTE, dt общая для всего приложения? - расстрелять..
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485055
student13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи, пока что речь идёт о контексте формы. Более масштабного делать пока не приходилось.

Значит, глобальное приватное поле на форме это норм?
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485071
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
student13,
почему вы его называете глобальным, это обыкновенное приватное поле типа ( а что такое не глобальный?), что тут может быть криминального? обычная практика...
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485100
ALOTE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиALOTE, dt общая для всего приложения? - расстрелять..
Ну справедливости ради, стоит отметить, что внешняя дататабля, совсем не значит единственная дататабля на все приложение.
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485106
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALOTE,
ну приведите пож. код. где та биля, общая для всего приложения, и где биля внешняя но не общая для всего приложения..
посмотрим троль вы или нет, а то мус сомневался...
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485118
ALOTE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи
Эээ???
Вообще то это вопрос не кода, а архитектуры. А то, у вас получается, внешние били вообще нельзя использовать под страхом расстрела. Непонятно как MVC существует только. А доказывать свою не тролльность излишне упитыным троллям, чета нет желания. Хотя и интересна дальнейшая фантазия, чую, сейчас начнете что то интересное и дальше придумывать.
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485141
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALOTE,
гыгы прав был мсу - троль

Одна на всех
Код: c#
1.
2.
3.
4.
 public static class Utils
    {
        public static DataTable DataTable
    }


Внешняя только на экземпляр
Код: c#
1.
2.
3.
4.
5.
6.
7.
 class FooClass
    {
        public FooClass(DataTable dataTable)
        {
            ...........
        }  
    }
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485150
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALOTE,
А вот формальный вопрос, скорее лингвистический
можно ли назвать ту биля внешней?
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 public static class Utils
    {
        public static DataTable GetDataTable(string tablename)
        {
            ...........
        }

    }

    class FooClass
    {
        private DataTable _dataTable = Utils.GetDataTable("blalala");

    }
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485174
ALOTE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Внешней к чему? К классу FooClass да. Только, текст команды или имя таблицы для били, как внешний параметр совсем не обязательны. Это Вас кто то обманул. А при таком подходе один статический объект отвечающий за все наборы данных из БД, да можно много смешного напрограммировать.
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485202
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALOTE,
авторК классу FooClass да
нет..
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485219
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALOTE,
авторА при таком подходе один статический объект отвечающий за все наборы данных из БД
вы про это?
Код: c#
1.
2.
3.
4.
public static class Utils
    {
        public static DataTable DataTable
    }


так почему я не прав?
просто Яdt общая для всего приложения? - расстрелять..
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485228
ALOTE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиALOTE,
авторА при таком подходе один статический объект отвечающий за все наборы данных из БД
вы про это?
Код: c#
1.
2.
3.
4.
public static class Utils
    {
        public static DataTable DataTable
    }


так почему я не прав?
просто Яdt общая для всего приложения? - расстрелять..
А я и не говорил что Вы не правы. Я говорил, что внешняя, не значит общая, почувствуйте разницу. А тут описан классический Золотой Молоток.
Кстати, чем же та дататбля к классу не внешняя?
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485236
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALOTE,
а где вы видите внешность
Код: c#
1.
2.
3.
4.
5.
 class FooClass
    {
        private DataTable _dataTable ;

    }
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485264
ALOTE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи,
Стоп, да в таком разрезе, если передавать имя таблицы то это не внешняя.
А вот если так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
public static class ModelForCurrentTask
    {
        public static DataTable DataForCurrentTask()
        {
            ...........
        }

    }


То вполне себе внешняя будет.
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485277
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALOTE,
ну и где тут инициализация поля через объект, это обыкновенный статический метод, через него инициализируется внутреннее
закрытое поле ничего более, параметры у метода могут быть, могут не быть. - кабы все дело во вкусе...
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485316
ALOTE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи,
А при чем тут инициализация через объект. В один класс возвращает дататабл через свойство, любому(ну или не любому) внешнему, который попросит. А про параметры то я ничего плохого не говорил. Я говорил что имя таблицы или текст запроса в качестве входящего параметра передавать не особо хорошо. Если, конечно, ORM не пишем.
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485338
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALOTE,
Ой надоели вы мне,
авторНу справедливости ради, стоит отметить, что внешняя дататабля, совсем не значит единственная дататабля на все приложение.
давай начнем с этого, внешняя переменная - это глобальная переменная видимая отовсюду в пределах namespace, извини ничего личного, это повелось до нас..., так вот она единственная, то что я написал за Вас, это не верно в терминологии,
во втором случае там тоже может стоять указатель на глобальную биля, можем говорить про типы инициализации ( через конструктор,
статическую Ф, Ф экземпляра, рефлектором или еще как,) не более, хочешь работать с статикой - работай, но не трогай терминологию,
то что закрытое поле инициализируется статической функцией ничего тут шаманского нет, а вот Вы кричите про внешнею переменную
так спросите самого себя, если поле инициализируется внешней переменной, то и другие объекты (вне типа поля) имеют право иметь до него доступ и где тут какой доступ на указатель полученный в результате инициализации приватного поля, поле закрытое, при следующем обращении к статическому методу, мы получим совершенно другой указатель,??
а если Вы скажете что получим тот же указатель, то та бл* статическая - что и требовалось доказать..
...
Рейтинг: 0 / 0
WinForms.Если не глобальные переменные, то что же?
    #38485501
ALOTE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну для того что бы не надоедал, нужно вникать в слова оппонента, а не придумывать их самому за него. Я с самого начала написал, что дататабл берется из внешнего объекта, и дальше подчеркивал, что внешней она является относительно класса, а о том что она глобальная это Вы уже сами придумали.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / WinForms.Если не глобальные переменные, то что же?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]