Получить тип сборки, загруженной в новый домен приложений - PullRequest
2 голосов
/ 26 декабря 2011

Я использую этот метод для создания объекта, который я хочу .

Конструктор объекта успешно вызван.

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

Type type = Type.GetType(this.typeName);

type, это ноль.

Итак, что мне нужно знать: как мне получить тип сборки, загруженной в новый домен приложений?

Ответы [ 3 ]

2 голосов
/ 26 декабря 2011

Вам необходимо использовать полное имя сборки, чтобы вы могли воссоздать его с помощью Type.GetType()

this.typeName = typeof(MyClass).AssemblyQualifiedName;

Без этого в исполняемой сборке будет выполняться поиск типа, который не всегда содержиттипа.

0 голосов
/ 27 декабря 2011

Вот как я решил проблему: Я создал интерфейс и использовал typeof (MyInterface) для работы arround.

Надеюсь, это поможет вам.

0 голосов
/ 26 декабря 2011

Объект типа System.type сам по себе является объектом и содержит член указателя объекта типа, и его член ссылается на себя, поскольку объект типа System.Type сам является «экземпляром» объекта типа.А метод GetType System.Object возвращает адрес, сохраненный в указанном члене указателя объекта типа объекта.Другими словами, метод GetType возвращает указатель на объект типа объекта, и именно так вы можете определить истинный тип любого объекта в системе.

Использовать System.Reflection.AssemblyName - это служебный класс, который даетВы полностью заполняете детали уникальной идентичности сборки.Используйте метод GetType этого класса, чтобы узнать тип загруженной сборки.

http://msdn.microsoft.com/en-us/library/system.object.gettype.aspx

...