需求场景:要做一个通用的模型方法,接收类型的类型名称(字符串),然后创建这个类型,并返回。 由于模型对象在另一个类库中(三层架构嘛)
所以不能直接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);
要得到什么类型就传类型名称就好了