Here is a very simple sample of dynamic type loading:
==== LoadLibrary.cs ====
using System;
using System.Reflection;
namespace LoadLibrary
{
class Program
{
static void Main(string[] args)
{
Assembly ass = Assembly.LoadFile(AppDomain.CurrentDomain.BaseDirectory
+ @”.SimpleLib.dll”);
Type type = ass.GetType(“SimpleLib.SimpleClass”);
object newInstance = Activator.CreateInstance(type);
Console.WriteLine(newInstance);
Console.ReadLine();
}
}
}
=== SimpleClass.cs ===
namespace SimpleLib
{
public class SimpleClass
{
public override string ToString()
{
return “I am a simple class”;
}
}
}
Build simple class into SimpleLib.dll
Build LoadLibrary into LoadLibrary.exe
Put SimpleLib.dll into the same directory as LoadLibrary.