Mit Interfaces ist das aber obersimpel
Code:
public IMyInterface GetInstanceFromFile (string filename)
{
Assembly assembly = Assembly.LoadFile(filename);
foreach (Type type in assembly.GetTypes())
if (type.IsClass && type.IsPublic)
if (type.GetInterfaces().Contains(typeof(IMyInterface)))
return (IMyInterface)Activator.CreateInstance(type);
}
Das Bild hängt schief.