我正在尝试使用WPF & Unity开发PRISM应用程序。现在我到了我必须在我的ShellView中加载我的模块的部分。我尝试通过使用Type.GetType方法来完成此操作,但调试后它说null。现在我似乎无法弄清楚什么是错的。我唯一知道的是,我的ModuleType可能不是一个Assembly Qualified名称。有人可以帮我吗 ?Type.GetType返回null
public partial class Shell : Window
{
private IModuleManager ModuleManager;
private IUnityContainer Container;
private IModuleCatalog ModuleCatalog;
public Shell(IModuleManager moduleManager, IUnityContainer container, IModuleCatalog moduleCatalog)
{
this.ModuleCatalog = moduleCatalog;
if (moduleManager == null) throw new ArgumentException("Modulemanager is null");
ModuleManager = moduleManager;
ModuleManager.Run();
Container = container;
foreach (var module in ModuleCatalog.Modules)
{
OpenMainView(module);
}
InitializeComponent();
}
private void OpenMainView(ModuleInfo module)
{
Type ModuleType = Type.GetType(module.ModuleType); //this returns null
}
是否'ModuleType'实例化? –
是的,它被实例化 –
@NicolasPierre我看到你找到了正确的答案,因此我删除了我的(因为指的是一个通用的问题,而不是这个具体的问题)。无论如何,我明白你使用了.GetType()。如果您的原始代码错误,您应该为未来的观众更新它;如果这是对的,我很想知道它(会帮助我获得对Prism的良好初步掌握)。 – varocarbas