Создание объекта, не зная имени класса во время проектирования

В одной точке никто не имеет mention, чтобы убедиться, что режим запуска Host Activity не установлен на singleInstance или singleTask.

onActivityResult не будет работать, если ваш режим запуска установлен на SingleInstance или SingleTask. или вы вызываете свою активность с использованием этих режимов IntentFilters

standard или singleTop, которые будут работать нормально.

5
задан Ḟḹáḿíṅḡ Ⱬỏḿƀíé 17 June 2015 в 09:49
поделиться

5 ответов

Попробуйте активатор. CreateInstance.

13
ответ дан 18 December 2019 в 08:33
поделиться

Можно создать экземпляр класса от Текстового объекта с помощью Активатора. CreateInstance, для получения всех типов в dll можно использовать блок. GetTypes

1
ответ дан 18 December 2019 в 08:33
поделиться

Смотрите на эти ссылки:

http://www.java2s.com/Code/CSharp/Development-Class/Createanobjectusingreflection.htm

http://msdn.microsoft.com/en-us/library/k3a58006.aspx

Вы в основном используете отражение, чтобы загрузить блок, затем найти тип, которым Вы интересуетесь. После того как у Вас есть тип, можно попросить находить, что это - конструкторы или другие методы / свойства. После того как у Вас есть конструктор, можно вызвать его. Легкий!

1
ответ дан 18 December 2019 в 08:33
поделиться

System.Reflection.Assembly класс, который Вы захотите использовать. Это содержит многих метод для итерации по типам, содержавшим с пользователем DLL. Можно выполнить итерации через каждый класс, возможно, видеть, наследовался ли он конкретному интерфейсу и т.д.

http://msdn.microsoft.com/en-us/library/system.reflection.assembly_members.aspx

Заняться расследованиями Assembly.GetTypes() метод для получения списка типов, или Assembly.GetExportedTypes() для общедоступных только.

3
ответ дан 18 December 2019 в 08:33
поделиться

Как это было уже сказано, необходимо ввести Систему по абсолютному адресу. Пространство имен отражения.

Если Вы знаете заранее местоположение/имя DLL, Вы хотите загрузиться, необходимо выполнить итерации посредством блока. GetTypes ().

В Псевдокоде это выглядело бы примерно так:

Создайте и объект блока.

Выполните итерации через все типы, содержавшиеся в блоке.

После того как Вы находите тот, Вы ищете, вызываете его (CreateInstance) …

Используйте его мудро.

;)

У меня есть много Отражательного кода, если Вы хотите смотреть вокруг, но задача действительно проста и существует по крайней мере дюжина статей с образцами там в дикой природе. (Google Aka). Несмотря на это, MSDN является Вашим другом для Отражательной Ссылки.

1
ответ дан 18 December 2019 в 08:33
поделиться
Другие вопросы по тегам:

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