Generic Dynamic Class Factory (.net)
This code provides a simple way to dynamically load all the assemblies in a directory (by default the bin directory in your project)  using System.Text; using System.Reflection; using System.IO; public class DynamicFactory  {    List  allAssemblies = new List ();    public DynamicFactory() { }    public void LoadAssemblies() {        Assembly thisAssembly = Assembly.GetExecutingAssembly();        Uri thisUri = new Uri(thisAssembly.CodeBase);        string path = Path.GetDirectoryName(thisUri.LocalPath);        LoadAssemblies(path);    }    public void LoadAssemblies(string path) {        allAssemblies.Clear();        foreach (string dll in Directory.GetFiles(path, "*.dll")) {            allAssemblies.Add(Assembly.LoadFile(dll));        }    }    public IEnumerable  EnumerateTypes() {        foreach (var assembly in allAssemblies)             foreach (Type type in assembly.GetExportedTypes())                if (typeof(T).IsAssignableFrom(type))                    yield return ...