C# - обращение к классу с именем, которое ввел пользователь

Компьютеры программирование программы C# .net

Суть вот в чем, есть множество разных классов, с названиями вида Procedure1, Procedure2, Procedure3, .... , Procedure100500. Из входящих данных (от пользователя) поступает номер данного класса (в int-переменной). Как можно по этому номеру обратиться к нужному классу? конструкция switch/case с перечислением всех классов не вариант, так как их много.
Ответы:
Вообще-то это можно, через пространства имён, но достаточно проблематично. Я бы посоветовал или не создавать стопиццот разных классов, или хранить ссылки на их типы в массиве, или использовать кодогенерацию, раз уж без этого никак.
Обратится к классу? Что это вообще?
Если нужно создать экземпляр класса, то можно использовать Activator.CreateInstance(...). Если нужно получить доступ к уже созданным экземплярам, то можно использовать какую-нибудь коллекцию и обращаться к ней.
Если же нужно обратиться именно к классу, чтобы узнать какую-либо информацию о нем, то тут пользуйте рефлекшн.
Через reflection, вестимо.


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.