powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Рефлексия. Как создать объекты в классе
12 сообщений из 12, страница 1 из 1
Рефлексия. Как создать объекты в классе
    #39987911
abort
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть класс

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
class Test
    {
        public System.IO.FileSystemWatcher sw_1;
        public System.IO.FileSystemWatcher sw_2;
        ...
        public System.IO.FileSystemWatcher sw_N;

    }



Как мне в вызывающем классе для всех sw_N вызвать конструктор и другие методы и свойства
sw_1 = new System.IO.FileSystemWatcher();
((System.ComponentModel.ISupportInitialize)(sw_1)).BeginInit();
sw_1.EnableRaisingEvents = true;
sw_1.Filter = "*.xlsx";
((System.ComponentModel.ISupportInitialize)(sw_1)).EndInit();
sw_1.Path = "c:\temp";
sw_1.Created += new FileSystemEventHandler(OnCreated_sw_1);
...
Рейтинг: 0 / 0
Рефлексия. Как создать объекты в классе
    #39987914
L.Otujktd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
abort,

Получить список и тип свойств у класса Test и вызвать требуемый код
...
Рейтинг: 0 / 0
Рефлексия. Как создать объекты в классе
    #39987919
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abort
Как мне


Ну тебе код готовый за тебя написать что ли? Смотри доки по Type.GetProperties(), Type.Invoke(), и прочей рефлексии :))

Хотя, впрочем, мне сейчас сдается, что ты нарисовал в дизайнере говнокод (а именно накидал на форму стопятьсот однотипных компонентов), а теперь страдаешь, как тебе с этим быть. В коллекцию просто их поместить не думал? Впрочем, да, мышом в коллекцию их не накидать ведь :))
...
Рейтинг: 0 / 0
Рефлексия. Как создать объекты в классе
    #39987927
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abort,

почему бы не создать массив и в цикле вызвать Activator?
...
Рейтинг: 0 / 0
Рефлексия. Как создать объекты в классе
    #39987929
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pation
abort,

почему бы не создать массив и в цикле вызвать Activator?


Код: c#
1.
2.
var n = 100;
var array = Enumerable.Range(0, n).Select(i=>Activator.CreateInstance(typeof(FileSystemWatcher))).ToArray();
...
Рейтинг: 0 / 0
Рефлексия. Как создать объекты в классе
    #39987940
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pation
abort,

почему бы не создать массив и в цикле вызвать Activator?

А зачем там вообще активатор, если типы свойств и так известны.
...
Рейтинг: 0 / 0
Рефлексия. Как создать объекты в классе
    #39988326
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нафига рефлексия, когда есть expression tree?
...
Рейтинг: 0 / 0
Рефлексия. Как создать объекты в классе
    #39988385
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ
Нафига рефлексия, когда есть expression tree?


+
...
Рейтинг: 0 / 0
Рефлексия. Как создать объекты в классе
    #39988432
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
+

Я вообще не пойму нафиг там что-то, когда есть оператор new - там же класс известен заранее, я уже писал выше
...
Рейтинг: 0 / 0
Рефлексия. Как создать объекты в классе
    #39988457
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
hVostt
+

Я вообще не пойму нафиг там что-то, когда есть оператор new - там же класс известен заранее, я уже писал выше


Ну не хочет человек свои вотчеры хранить в коллекции, как человек.
А хочет полями и через рефлексию.

У каждого свои причуды.. главное, чтобы это оставалось на его личном зашифрованном диске, спрятано далеко от людских глаз )
...
Рейтинг: 0 / 0
Рефлексия. Как создать объекты в классе
    #39988477
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

видно же, что автор не знает, что он хочет.
присмотритесь, открытые поля, отсутствие массивов, безымянные имена, 3 признака говнокода на лицо.
...
Рейтинг: 0 / 0
Рефлексия. Как создать объекты в классе
    #39988508
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes
отсутствие массивов

У меня предположение, что он просто не знает про массивы и таким классом пытается эмулировать массив.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Рефлексия. Как создать объекты в классе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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