Создайте экземпляр класса от строки

198
задан abatishchev 10 December 2014 в 18:28
поделиться

4 ответа

149
ответ дан Matt Hamilton 23 November 2019 в 05:12
поделиться

Я использовал этот метод успешно:

System.Reflection.Assembly.GetExecutingAssembly().CreateInstance(string className)

необходимо будет бросить возвращенный объект к типу требуемого объекта.

53
ответ дан bluish 23 November 2019 в 05:12
поделиться

Вероятно, мой вопрос должен был быть более конкретным. Я на самом деле знаю, что базовый класс для строки так решил его:

ReportClass report = (ReportClass)Activator.CreateInstance(Type.GetType(reportClass));

Активатор. Класс CreateInstance имеет различные методы для достижения того же самого по-разному. Я, возможно, бросил его к объекту, но вышеупомянутое имеет большую часть использования к моей ситуации.

22
ответ дан bluish 23 November 2019 в 05:12
поделиться
ReportClass report = (ReportClass)Activator.CreateInstance(Type.GetType(reportClass));

почему вы хотите писать такой код? Если у вас есть класс ReportClass, вы можете создать его экземпляр, как показано ниже.

ReportClass report = new ReportClass();

Код ReportClass report = (ReportClass) Activator.CreateInstance (Type.GetType (reportClass)); используется, когда у вас нет необходимого класса, но вы хотите создать экземпляр и / или вызвать метод динамически.

Я имею в виду, что это полезно, когда вы знаете сборку, но при написании кода у вас нет доступного класса ReportClass .

-10
ответ дан 23 November 2019 в 05:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: