C# 如何从汇编';s引用的程序集

C# 如何从汇编';s引用的程序集,c#,.net-assembly,system-codedom-compiler,C#,.net Assembly,System Codedom Compiler,我得到了一个程序集,由System.CodeDomCompiler在运行时创建。编译的程序集使用引用的程序集。此外,我在运行时将CodeDomAssembly声明为已编译程序集,并将ReAssembly声明为CodeDomAssembly使用的引用程序集 在重构中,是一个名为KeyHavester的静态类,具有静态列表和静态属性/方法。CodeDomAssembly包含WPF表单。我这样称呼这些表格: RefType = CodeDomAssembly.GetType("formname");

我得到了一个程序集,由System.CodeDomCompiler在运行时创建。编译的程序集使用引用的程序集。此外,我在运行时将CodeDomAssembly声明为已编译程序集,并将ReAssembly声明为CodeDomAssembly使用的引用程序集

在重构中,是一个名为KeyHavester的静态类,具有静态列表和静态属性/方法。CodeDomAssembly包含WPF表单。我这样称呼这些表格:

RefType = CodeDomAssembly.GetType("formname");
CodeDomAssembly.CreateInstance(.....);
MethodInfo = RefType.GetMethod("ShowDialog");
bool? dialogresult = (bool?)MethodInfo.Invoke(RefType , new object[] { });
RefType = CodeDomAssembly.GetType("KeyHavester"); //static class in RefAssembly
MethodInfo = RefType.GetMethod("GetKeys"); //GetKeys() return a List<string> 
好的,到目前为止它是有效的。。 表单返回dialogresult后,KeyHavester类中有已收集的键。静态类KeyHavester保存所有键,是CodeDomAssembly的引用程序集。所以我认为这应该是可访问的,如下所示:

RefType = CodeDomAssembly.GetType("formname");
CodeDomAssembly.CreateInstance(.....);
MethodInfo = RefType.GetMethod("ShowDialog");
bool? dialogresult = (bool?)MethodInfo.Invoke(RefType , new object[] { });
RefType = CodeDomAssembly.GetType("KeyHavester"); //static class in RefAssembly
MethodInfo = RefType.GetMethod("GetKeys"); //GetKeys() return a List<string> 
RefType=CodeDomAssembly.GetType(“KeyHavester”)//重构中的静态类
MethodInfo=RefType.GetMethod(“GetKeys”)//GetKeys()返回一个列表
我得到的只是RefType==null。那么,如何通过CodeDomAssembly访问重构中的静态KeyHavester类呢

重构是否需要公共令牌?RefAssembly={FunktionBibliothek,版本=1.0.0.0,区域性=中立,PublicKeyToken=null}


如何实现这一点?

在codedom编译代码中使用反射没有实际意义。只要编译器参数正确,就可以使用真实的类型名来添加引用程序集。也避免了代码片段中可能出现的错误,“KeyHavester”肯定存在于名称空间中。我的应用程序在运行时编译代码。那么我想用它。。所以我不能使用真正的类型名,因为应用程序无法编译。我忘了键盘上的“r”是的,但这不是问题所在。重构由CodeDomAssembly引用。