标签:
通过字符串动态创建类对象
功能的需求是 不需要使用IOC 框架 来对创建指定对象。
.NET 中 要想动态的 创建对象 做耦合 好像只能做到 将类生成DLL 后 然后 加载DLL 接着创建对象。
JAVA 当个类文件 就可以运行。
希望做到 当读一个 .class 或者 .TXT 就可以 动态创建类对象 那多好啊!!! 还可以将 类文件 以字符串的形式写到 数据库中 通过数据库来 创建类对象。
然后就各种百度 谷歌 贴吧等 找有没相关的 解决方案 还好 找到了 。 不藏着 分享出来
代码很简单:
CSharpCodeProvider p = new CSharpCodeProvider(); CompilerParameters param = new CompilerParameters(); string s = "public class AAA{ public string name;}"; CompilerResults rel = p.CompileAssemblyFromSource(param, s); Type t = rel.CompiledAssembly.GetType("AAA"); object o = t.GetConstructor(System.Type.EmptyTypes).Invoke(null); string sdc = t.GetField("name").GetValue(o).ToString(); Console.WriteLine(t.GetField("name").GetValue(o).ToString());
希望 哪位大神 有更高效 的 方式 可以告诉本人一下哈 。。
标签:
原文地址:http://www.cnblogs.com/atliwen/p/4846126.html