我正在嘗試使用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