DLLの動的ロード

C#でDLLを動的ロードする場合、以下のように。
Activator.CreateInstanceがObject型で返すので、キャストが必要。


using System;
using System.Collections.Generic;
using System.Text;
using DataDynamics.ActiveReports;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Form1 TestForm1 = new Form1();

Assembly assembly = Assembly.LoadFrom("ClassLibrary1.dll");
Module module = assembly.GetModule("ClassLibrary1.dll");

System.Type type = module.GetType("ClassLibrary1.ProductList");

using (Report report = (Report)Activator.CreateInstance(type))
{
report.print();
}

TestForm1.Show();
System.Windows.Forms.Application.Run(TestForm1);
}
}
}