我试图找出如何将类对象保存为程序集,以便我可以将该程序集保存到本地位置等以便在以后使用
创建测试类的示例,我想在实例化之后创建它的程序集。
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
test newtest = new test("someInfo");
//Create assembly from tt
Assembly newAssem = NewAssembly.CreateAssembly(tt);
}
}
public class test
{
public string val {get ;set;}
public test(string v)
{
val = v;
}
}
}
那么在这个方法中我想创建程序集
public static class NewAssembly
{
public static Assembly CreateAssembly(test tt)
{
Assembly _proxyAssembly;
CodeDomProvider _codeDomProvider = CodeDomProvider.CreateProvider("CS");
CodeCompileUnit _codeCompileUnit = new CodeCompileUnit();
string _proxyCode;
using (StringWriter writer = new StringWriter())
{
CodeGeneratorOptions codeGenOptions = new CodeGeneratorOptions();
codeGenOptions.BracingStyle = "C";
_codeDomProvider.GenerateCodeFromCompileUnit(_codeCompileUnit, writer, codeGenOptions);
writer.Flush();
_proxyCode = writer.ToString();
}
CompilerParameters compilerParams = new CompilerParameters();
compilerParams.OutputAssembly = "some local path \\aName.dll";
CompilerResults results;
results = codeDomProvider.CompileAssemblyFromSource(compilerParams,_proxyCode);
_proxyAssembly = results.CompiledAssembly;
return _proxyAssembly;
}
}
这是我能够聚在一起的最好的例子,但我不确定它是否正确,也不知道我错过了什么,比如实际的课程得到的地方添加以及如何完成该方法。
任何帮助都会很棒,谢谢