Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как создать глобальный массив чтобы в него записывать данные из текстбоксов разных форм? / 9 сообщений из 9, страница 1 из 1
07.06.2013, 11:26
    #38289781
webber81
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как создать глобальный массив чтобы в него записывать данные из текстбоксов разных форм?
как создать глобальный массив чтобы в него записывать данные из текстбоксов разных форм?

в си++ делал так.
Созал файл
global_header.h
и объявил в нем массив
int global[100];
В нужных формах заинклюдил это файл
#include"global_header.h"
объявил этот массив как внешний
extern int global[100];
и спокойно юзал
global[0]=239;
global[1]=378;
итд
Как это сделать на с#?
...
Рейтинг: 0 / 0
07.06.2013, 11:29
    #38289802
Ken@t
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как создать глобальный массив чтобы в него записывать данные из текстбоксов разных форм?
webber81,

Singleton шаблон. Хотя вот эта любовь с++ к "глобальным экземплярам" она не алё.
...
Рейтинг: 0 / 0
07.06.2013, 12:11
    #38289948
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как создать глобальный массив чтобы в него записывать данные из текстбоксов разных форм?
webber81, в C# можно испоьзовать static поля в качестве замены глобальных переменных, но надо помнить что глобальные переменные это зло из-за их глобальности. Наверняка твою задачу можно решить и без них. Подумай как переписать код так чтобы глобальные переменные не были бы нужны.
...
Рейтинг: 0 / 0
10.06.2013, 06:22
    #38292010
webber81
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как создать глобальный массив чтобы в него записывать данные из текстбоксов разных форм?
В моей проге много окошек в которые заносятся данные.
А в последнем окне все данные должны быть выведены в табличном виде.
Я даже не знаю можно ли вообще обойтись без глобальных переменных.
Если кто знает подскажите как?
Базы данных не предлагать. Не настолько много у меня данных чтобы их использовать
...
Рейтинг: 0 / 0
10.06.2013, 08:30
    #38292032
Ken@t
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как создать глобальный массив чтобы в него записывать данные из текстбоксов разных форм?
webber81,

Предполагаю, что
"много окошек" - каждое окно ( форма ) ассоциировано с определённым типом данных
например
окно Персона - Тип Person { int Id , string Title }
окно Вопрос - Тип Question { string Title }

для хранения этого необходимо
1. Базовый абстрактный тип BaseType, пусть будет BaseType { string Title }
2. Оба типа наследники базового типа
3. Тип коллекция - либо ваш самописный , либо дженерик List<BaseType>

Фабрика
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
 public class BaseFactory 
 {

   private static BaseFactory  m_Single;

   private BaseFactory()
   {
 	Collection = new List<BaseType>;

   }

   public static BaseFactory GetFactory ()
   {
	if ( null == m_Single )
        {
		m_Single = new BaseFactory()
	}
	return m_Singele;
   }

   public IList<BaseType> Collection
   {
      get;
      private set;
   }

 }


используем в форме 1.

Код: c#
1.
2.
3.
4.
 Void OnSave ()
 {
   BaseFactory.GetFactory().Add( new Person()  {Id = 1, Title ="Person1" } );    
 }


используем в форме 2.

Код: c#
1.
2.
3.
4.
5.
6.
Void OnSave ()
 {
   BaseFactory.GetFactory().AddRange ( 
   new [] BaseType {  new Question ()  { Title ="Question1" },  new Question ()  { Title ="Question2" } }
   );    
 }


используем в форме 3.
Код: c#
1.
2.
3.
4.
5.
6.
7.
OnShow ()
 {
	foreach ( BaseType item in BaseFactory.GetFactory() )
	{
		GridAddRow ( item.Title );
	}
 }



Как -то так.
...
Рейтинг: 0 / 0
10.06.2013, 08:31
    #38292035
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как создать глобальный массив чтобы в него записывать данные из текстбоксов разных форм?
webber81Я даже не знаю можно ли вообще обойтись без глобальных переменных.
Если кто знает подскажите как?
можно.
например, передавать этот "глобальный" объект/массив параметром в конструкторы форм
...
Рейтинг: 0 / 0
10.06.2013, 09:56
    #38292107
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как создать глобальный массив чтобы в него записывать данные из текстбоксов разных форм?
Ken@tФабрика
Лучше уж прикрутить поддержку многопоточности. А то потом будем ловить проблемы на ровном месте в PLINQ, Parallel и прочих тредовых заморочках. Но самый главный вопрос: нужна ли автору эта глобальность и в чем ее замысел.
...
Рейтинг: 0 / 0
10.06.2013, 10:09
    #38292123
Ken@t
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как создать глобальный массив чтобы в него записывать данные из текстбоксов разных форм?
МСУЛучше уж прикрутить поддержку многопоточности. А то потом будем ловить проблемы на ровном месте в PLINQ, Parallel и прочих тредовых заморочках. Но самый главный вопрос: нужна ли автору эта глобальность и в чем ее замысел.
А тут ведь как, бд и нет заморочек. "Глобальность" автора из попытки переноса шаблона пограммирования с С++ на управляемый код и слабости в проектировании.

авторglobal_header.h
и объявил в нем массив
int global[100];
как же надо додуматься до этого ? Хидеры декларирут обявления. Достаточно было декларировать статические данные в *.hpp, добавить *.сpp в котором #define уже экземпляр данных обьявить. В общем ни в сях ни в шарпе - ни какой.

Как-то так.
...
Рейтинг: 0 / 0
10.06.2013, 10:15
    #38292134
МСУ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как создать глобальный массив чтобы в него записывать данные из текстбоксов разных форм?
Ken@tА тут ведь как, бд и нет заморочек. "Глобальность" автора из попытки переноса шаблона пограммирования с С++ на управляемый код и слабости в проектировании
Да, именно это я и имел ввиду. Глобальность в большинстве случаев никому не нужна. В любом случае этот IList нужно куда-то свопить (БД, XML, SOA, ...), иначе мы просто потеряем наработанные значения.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как создать глобальный массив чтобы в него записывать данные из текстбоксов разных форм? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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