Ответ 1
Вам нужен знак "Плюс", чтобы отображать вложенные классы с помощью Assembly.GeType.
Assembly.GetType("MyCompany.Class1+Class2");
Я пытаюсь использовать Assembly.GetType( "MyCompany.Class1.Class2" ) для динамического получения типа из строки.
Assembly.GetType("MyCompany.Class1");
работает как ожидалось.
Если я внедряю класс в другой класс, например:
namespace MyCompany
{
public class Class1
{
//.....
public class Class2
{
//.....
}
}
}
и попытайтесь получить тип Class2
Assembly.GetType("MyCompany.Class1.Class2")
вернет null.
Я использую .NET Frameworks 3.5 SP1
Кто-нибудь знает, что я делаю неправильно, и что я могу сделать, чтобы исправить это?
Заранее спасибо
Кевин Д. Вольф Тампа, Флорида
Вам нужен знак "Плюс", чтобы отображать вложенные классы с помощью Assembly.GeType.
Assembly.GetType("MyCompany.Class1+Class2");
Я думаю, что это называется MyComnpany.Class1 + Class2.
Если я запустил этот код в подобной структуре, это то, что я вижу:
Assembly assem = Assembly.GetExecutingAssembly();
Type[] types = assem.GetTypes();
Примеры Типы для просмотра имен.
Вам нужно использовать знаки плюс. Что-то вроде "MyAssembly.Class1 + NestedClass".