ICar.dll using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ICar { public interface ICar { string GetCar(); } }FuTe.dll using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace FuTe { public class FuTe : ICar.ICar { public string GetCar() { return "FuTe"; } } } CarFactory.dll using System; using System.Reflection; namespace CarFactory { public class CarFactory { public static ICar.ICar CreateCar(string CarFileName) { var CarAssembly = Assembly.LoadFrom(CarFileName); ICar.ICar CarType = null; foreach (var tmpCarType in CarAssembly.GetTypes()) { CarType = (ICar.ICar)Activator.CreateInstance(tmpCarType); break; } return CarType; } } } ConsoleApplication6.exe using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication6 { class Program { static void Main(string[] args) { var myCar = CarFactory.CarFactory.CreateCar(@"FuTe.dll"); var CarName = myCar.GetCar(); Console.WriteLine(CarName); Console.ReadLine(); } } }