我正在研究WPF应用程序。我有大量的Usercontrols,我试图从中心位置动态加载它们。 我想将Usercontrol名称(或其他?)存储在数据库中,并根据权限级别将其加载到用户。 这里我打算只存储UserControl类类型的GUID
var typeGuid = typeof(MyUserControl).GUID.ToString("N");
并将此GUID存储在数据库中。 当我想加载这个Usercontrol时,
string typeGuid = // Get the GUID From database
var myUserControlType = Type.GetTypeFromCLSID(new Guid(typeGuid));
var userControl= (UserControl)Activator.CreateInstance(myUserControlType);
我在这里遇到流动的错误,
检索具有CLSID的组件的COM类工厂 {A355C352-38B2-3A88-864D-09DA12BE89FE}由于以下原因而失败 错误:80040154未注册类(HRESULT异常: 0x80040154(REGDB_E_CLASSNOTREG))。
另外,这个保存GUID在数据库中是个好主意吗?