我想通过使用Activator类来动态创建接口对象的实例。 下面是实现接口的类
make
我试过下面的代码
namespace ReportService.ReportWriters
{
class ExcelWriter : IReportWriter
{
}
}
以上代码无效。任何人都可以帮我这个..
答案 0 :(得分:0)
您的参数顺序不正确,您需要使用完全限定的类型名称和DLL文件的路径。
MSDN具有CreateInstanceFrom
的签名public static ObjectHandle CreateInstanceFrom(
string assemblyFile,
string typeName )
所以你的代码应该是这样的:
IReportWriter oIreportService = (IReportWriter)Activator.CreateInstanceFrom(PathToReportWritersDll, "ReportService.ReportWriters.ExcelWriter");
此外,您可能希望在进行反射时使用“as”来投射安全演员。
IReportWriter oIreportService = Activator.CreateInstanceFrom(PathToReportWritersDll, "ReportService.ReportWriters.ExcelWriter") as IReportWriter;