Невозможно использовать GetType с Activator.CreateInstance - PullRequest
0 голосов
/ 23 февраля 2012

Я пытаюсь получить объект с помощью Reflection, а затем запустить метод для этого объекта. Я получил нулевое значение от Type.GetType("my.namespace.item"), поэтому я решил попробовать тест, который ДОЛЖЕН работать. Используя этот код Type.GetType((new my.namespace.item()).GetType().FullName) я все еще получаю ноль.

Этого не должно быть из того, что я понимаю. Что я делаю не так?

1 Ответ

1 голос
/ 23 февраля 2012

Вы указываете только FullName из Type, который (по иронии судьбы) не является полным именем, которое вам нужно. Type.GetType(string) требует AssemblyQualifiedName из Type для работы:

Type.GetType((new my.namespace.item()).GetType().AssemblyQualifiedName)

должно быть в порядке. Задание его вручную будет выглядеть следующим образом:

Type.GetType("Namespace.TypeName, MyAssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b17a5c561934e089");

Очевидно, что вы можете опустить Version, Culture или PublicKeyToken, если они не применяются.

...