110,528
社区成员
发帖
与我相关
我的任务
分享
public static Assembly NewAssembly(ArrayList arraylist)
{
CSharpCodeProvider provider = new CSharpCodeProvider();
CompilerParameters paras = new CompilerParameters();
paras.GenerateExecutable = false;
paras.GenerateInMemory = true;
paras.ReferencedAssemblies.Add("System.dll");
CodeSnippetCompileUnit cu = new CodeSnippetCompileUnit();
StringBuilder classSource = new StringBuilder();
classSource.Append("using System;\n");
classSource.Append("using System.Collections.Generic;\n");
classSource.Append("using System.ComponentModel;\n");
classSource.Append("namespace youNS\n");
classSource.Append("{\n");
classSource.Append("\tpublic class DynamicClass\n");
classSource.Append("\t{\n");
for (int i = 0; i < arraylist.Count; i++)
{
classSource.Append(propertyString(arraylist[i].ToString()));
}
classSource.Append("\t}\n");
classSource.Append("}\n");
CompilerResults result = provider.CompileAssemblyFromSource(paras, classSource.ToString());
Assembly assembly = result.CompiledAssembly; return assembly;
}
classSource.Append("using System.Collections.Generic;\n");
classSource.Append("System.ComponentModel;\n");
classSource.Append("namespace youNS\n");
classSource.Append("{");
classSource.Append("public class DynamicClass\n");
classSource.Append("{");
for (int i = 0; i < arraylist.Count; i++)
{
classSource.Append(propertyString(arraylist[i].ToString()));
}
classSource.Append("\n}");
classSource.Append("\n}");