As.net 动态反射程序集里面DLL并创建对象

需求场景:要做一个通用的模型方法,接收类型的类型名称(字符串),然后创建这个类型,并返回。 由于模型对象在另一个类库中(三层架构嘛)

              所以不能直接Type.GetType("...."), 这样返回的类型用于为null。所以得用下面这个方法。

 public static object GetDSesk(string typeitem)
        {
            string str = System.Web.Hosting.HostingEnvironment.MapPath("~");
            string path = Path.Combine(str, "bin\\Service.Mode.dll");
            Assembly assembly = Assembly.LoadFrom(path);
            Type type = assembly.GetType(typeitem);
            object result = Activator.CreateInstance(type);
//给对象复制, 这里可以做出成数据库查询数据,并且返回对象, 看自己扩展啦 result.GetType().GetProperty(
"DeskName").SetValue(result, "BB555", null); return result; }

 使用时很简单:

          

  Desk dd= Element.ModeElement.GetMode(typeof(Desk).FullName) as Desk;
           Response.Write(dd.DeskName);

        要得到什么类型就传类型名称就好了

原文地址:https://www.cnblogs.com/Rmeo/p/3021895.html