Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 29.12.2015
Сообщений: 2

Возможно ли исаользовать типы как массив переменных?

29.12.2015, 15:58. Показов 1168. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо написать код в котором в качестве переменной будет использоваться тип = класс формы

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// К примеру есть такой код который создаёт дочернюю форму внутри родительской:
 
Form_LINE1  MDI_Child_LINE1 = new Form_LINE1();
MDI_Child_LINE1.MdiParent = this;
MDI_Child_LINE1.Show();
 
 
// Возможно ли создать массив типов формы чтобы создавать новые формы через данный элемент массива.
// Ниже приведён код, который естественно работать не будет, но даёт возможность понять того что требуется сделать:
 
type[]    Form_LINE = {Form_LINE1, Form_LINE2, Form_LINE3};
 
public void CreateMDI_Child(int a)
    {
    Form_LINE[a] MDI_Child_LINE = new  Form_LINE[a];
    MDI_Child_LINE.MdiParent = this;
    MDI_Child_LINE.Show();
    }
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.12.2015, 15:58
Ответы с готовыми решениями:

Как проверять типы данных у переменных?
Добрый день. У меня возник простой вопрос. Есть ли в C# проверка переменных на тип данных. т.е. например: if (str == string) { ...

Как JVM определяет типы переменных?
Недавно начал изучать Java. И на данный момент не могу кое в чём разобраться. Пример: Файл p/A.java package p; public class A ...

Как активировать Extended и другие типы переменных
Как активировать Extended в Pascal ABC.NET? И другие скрытые типы переменных.

3
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
29.12.2015, 16:21
Лучший ответ Сообщение было отмечено Pashich как решение

Решение

Pashich, можно то можно:
C#
1
2
3
4
5
6
7
Type[] Form_LINE = {typeof(Form_LINE1), typeof(Form_LINE2), typeof(Form_LINE3)};
 
public void CreateMDI_Child(int a)
{
   Form MDI_Child_LINE = (Form)Activator.CreateInstance(Form_LINE[a]);
   ...
}
хотя сомневаюсь, что вам это реально может пригодиться.
1
0 / 0 / 0
Регистрация: 29.12.2015
Сообщений: 2
29.12.2015, 18:45  [ТС]
Большое спасибо. Перерыл весь интернет, но так и ничего не нашёл.
Благодаря этому очень сильно сократился код. Так как таких дочерних форм у меня используется более 10.

Добавлено через 42 минуты
По мере написания кода столкнулся ещё с трудностями:
Приведённый ниже код не работает, нужно что то изменить, но что не знаю:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Form_LINE1 MDI_Child_LINE1;
Form_LINE2 MDI_Child_LINE2;
Form_LINE3 MDI_Child_LINE3;
 
Type[] Form_LINE = {typeof(Form_LINE1), typeof(Form_LINE2), typeof(Form_LINE3)};
 
object[] Child = {MDI_Child_LINE1, MDI_Child_LINE2, MDI_Child_LINE3};  // Передавать форму как объект не получается :(
 
public void CreateMDI_Child(int a)
{
   if (Child[a]  == null || Child[a].IsDisposed)
   {
       Child[a] = (Form)Activator.CreateInstance(Form_LINE[a]);  // Здесь уже не работает :(
       Child[a].MdiParent = this;
       Child[a].Show();
   }
}
0
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
29.12.2015, 20:04
Pashich, не знаю что вы такое творите
но наверно вместо
C#
1
object[] Child = { MDI_Child_LINE1, MDI_Child_LINE2, MDI_Child_LINE3 };
нужно сделать
C#
1
Form[] Child = new Form[3];
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.12.2015, 20:04
Помогаю со студенческими работами здесь

Типы переменных Time и Date (как с ними работать?)
Доброго всем времени суток. Моделирую базу данных под форум. Тип таблиц (если это имеет значение) InnoDB. Встал вопрос, как записывать...

Как сделать чтобы метод возвращал разные типы переменных
Что надо написать чтобы метод возвращал string и int значения?

Типы переменных (как в Qt присвоить значение переменной типа int строке QString?)
Добрый вечер! Возник вот такой вопрос: Как в Qt присвоить значение переменной типа int строке QString? Кусок кода: QString...

Как возможно решить проблему переполнения переменных?
program bacterii; {$APPTYPE CONSOLE} uses SysUtils,windows; var a,b,n,i:integer;

Типы переменных
Писал программу, которая должна получить фразу и закодировать её (сначала буквы из четных мест а потом нечетные). В программе понадобилось...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru