怎么动态创建匿名对象或类对象中的属性? 希望反射技术用的好地高手来帮一下忙
如何动态创建匿名对象或类对象中的属性? 希望反射技术用的好地高手来帮一下忙。
--如何动态添加匿名对象中的属性?
例:
//先创建一个有Name属性的匿名对象
object obj = new { Name = "abc" };
//如果我想再往里面动态添加一个Note属性,我改如何操作?
--或者如何动态构建一个类(可以通过字符串方式)?
例:
"class AAA{ string name = "abab"; }"
//如何将这个字符串生成为一个类对象
谢谢。。。
------解决方案--------------------
--如何动态添加匿名对象中的属性?
例:
//先创建一个有Name属性的匿名对象
object obj = new { Name = "abc" };
//如果我想再往里面动态添加一个Note属性,我改如何操作?
--或者如何动态构建一个类(可以通过字符串方式)?
例:
"class AAA{ string name = "abab"; }"
//如何将这个字符串生成为一个类对象
谢谢。。。
------解决方案--------------------
- C# code
CSharpCodeProvider p = new CSharpCodeProvider(); CompilerParameters param = new CompilerParameters(new string[] { "System.dll" }); string s = "namespace __ns{public class AAA{ public string name{get{return \"abab\";}} }}"; CompilerResults rel = p.CompileAssemblyFromSource(param, s); Type t = rel.CompiledAssembly.GetType("__ns.AAA"); object o = t.GetConstructor(System.Type.EmptyTypes).Invoke(null); MessageBox.Show(t.GetProperty("name").GetValue(o, null).ToString());