System.Activator.CreateInstance的问题

fiz*_*zer 3 .net c#

我正在尝试使用System.Activator.CreatInstance来创建基于typeName的对象.我正在使用以下代码:

Object DataInstance = System.Activator.CreateInstance(
                      System.Reflection.Assembly.GetExecutingAssembly().FullName,
                      "CMS.DataAccess.SQLWebSite");
IWebSite NewWebPage = (IWebSite)DataInstance;
Run Code Online (Sandbox Code Playgroud)

SQLWebSite实施IWebSite.但是,我收到以下错误:"无法将类型为'System.Runtime.Remoting.ObjectHandle'的对象强制转换为'CMS.DataAccess.IWebSite'." 我出错的任何想法?

Gra*_*ton 13

unwrap你打电话后试试CreateInstance,即:

Object DataInstance = System.Activator.CreateInstance(System.Reflection.Assembly.GetExecutingAssembly().FullName,
                                    "CMS.DataAccess.SQLWebSite").Unwrap();
            IWebSite NewWebPage = (IWebSite)DataInstance;
Run Code Online (Sandbox Code Playgroud)