Инициализировать экземпляр по типу - C#

Узнай цену своей работы

Формулировка задачи:

Создание экземпляра по типу сделать могу. Использую Activator. Но задача сложнее - есть класс со статическим полем типа Type, в котором указывается тип, к которому данный класс привязан (некий класс и его конфигурация, связанные по этому полю). Рефлексией вытаскиваю тип рабочего класса по интерфейсу (типа плагин), хочу найти конфиг этого плагина без создания плагина - не знаю как найти в Type это статическое поле, чтобы передать активатору

Решение задачи: «Инициализировать экземпляр по типу»

textual
Листинг программы
        private void addConnectorBtn_Click(object sender, EventArgs e)
        {
            if (_config != null)
            {
                using (IDeviceConnector connector = (IDeviceConnector)Activator.CreateInstance((availableConnectorsCB.SelectedItem as ConnectorViewHelper).Type))
                {
                    ConnectorConfig config = connector.Config;
                    _config.ConnectorConfigs.Add(config);
                    _configList.Add(new ConfigViewHelper(config));
                }
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5
Похожие ответы