C# 从类对象创建要保存并在以后使用的程序集

C# 从类对象创建要保存并在以后使用的程序集,c#,.net-assembly,C#,.net Assembly,我试图找出如何将类对象保存为程序集,以便将该程序集保存到本地位置等,以便稍后使用 在创建测试类的示例中,我想在in被实例化后创建它的一个程序集 命名空间控制台应用程序1 { 班级计划 { 静态void Main(字符串[]参数) { 测试新测试=新测试(“someInfo”); //从tt创建程序集 Assembly newAssem=NewAssembly.CreateAssembly(tt); } } 公开课考试 { 公共字符串val{get;set;} 公共测试(字符串v) { val=v

我试图找出如何将类对象保存为程序集,以便将该程序集保存到本地位置等,以便稍后使用

在创建测试类的示例中,我想在in被实例化后创建它的一个程序集

命名空间控制台应用程序1
{
班级计划
{
静态void Main(字符串[]参数)
{
测试新测试=新测试(“someInfo”);
//从tt创建程序集
Assembly newAssem=NewAssembly.CreateAssembly(tt);
}
}
公开课考试
{
公共字符串val{get;set;}
公共测试(字符串v)
{
val=v;
}
}    
}
因此,在这个方法中,我想创建程序集

公共静态类NewAssembly
{
公共静态程序集CreateSassembly(测试tt)
{
组件_proxy组件;
CodeDomProvider _CodeDomProvider=CodeDomProvider.CreateProvider(“CS”);
CodeCompileUnit _CodeCompileUnit=新的CodeCompileUnit();
字符串\u代理代码;
使用(StringWriter=新StringWriter())
{
CodeGeneratorOptions codeGenOptions=新的CodeGeneratorOptions();
codegeneptions.BracingStyle=“C”;
_codeDomProvider.GenerateCodeFromCompileUnit(_codeCompileUnit,writer,codeGenOptions);
writer.Flush();
_proxyCode=writer.ToString();
}
CompilerParameters compilerParams=新的CompilerParameters();
compilerParams.OutputAssembly=“一些本地路径\\aName.dll”;
编译结果;
结果=codeDomProvider.CompileAsemblyFromSource(compilerParams,_proxyCode);
_proxyAssembly=results.CompiledAssembly;
返回代理程序集;
}
}
这是我收集到的最好的例子,但我不确定它是否正确,也不知道我缺少了什么,比如实际添加的类在哪里,以及如何完成该方法


任何帮助都会很好,谢谢

“如何将类[实例]保存为程序集,以便我可以将该程序集保存到本地位置等,以便稍后使用”-为什么?似乎您可以从使用资源或序列化中获益,而不是从这里尝试做的事情中获益。请解释您到底想做什么。还要注意,程序集不包含类型实例(如您文章中的
newtest
),而是类型(类:
test
)。正如@CodeCaster所写,听起来你真正想要的是序列化。所以你们说不能用实例化类的当前值创建一个程序集,以便在以后的阶段使用。我第一次尝试使用XMLSerializer,但遇到了一个问题,即我尝试序列化的实际类对象包含对密封类的引用