//creator public override ProductInterface.IProduct GetDALProduct() { ProductInterface.IProduct product = null; //ruta del assemble desde el appConfig var assemblyPath = System.Configuration.ConfigurationManager.AppSettings["Product"]; //aqui cargo el assemble en memoria var assemblyObject = System.Reflection.Assembly.LoadFrom(assemblyPath); var productType = assemblyObject.GetTypes().Where(T => typeof(ProductInterface.IProduct) .IsAssignableFrom(T)).FirstOrDefault(); if (productType != null) { product = assemblyObject.CreateInstance(productType.FullName) as ProductInterface.IProduct; } return(product); }
public string GetIdentity(ProductInterface.IProduct product) => product.GetType().FullName;