public IMyInterface CreateBizObject(string assemblyName, string className) { // Load the assembly to use. Assembly asm = Assembly.LoadFrom(assemblyName); // Get the Type of the specified class Type ObjectType = asm.GetType(className, true); // Creates an instance of the specified type return (IMyInterface)Activator.CreateInstance(ObjectType); }Obviously, the problem with this approach is that you won't catch errors until run time since the compiler can't do type checking on this code. For example, if you pass a "className" that does NOT implement IMyInterface, you will get an "invalid cast" exception at run time.