我得到了一个由System.CodeDomCompiler在运行时创建的程序集。编译的程序集使用引用的程序集。此外,我在运行时将CodeDomAsssembly声明为我的已编译程序集,并将RefAssembly声明为CodeDomAssembly使用的引用程序集。
在RefAssembly中是一个称为KeyHavester的静态类,具有静态列表和静态属性/方法。 CodeDomAssembly包含WPF表单。我这样称呼这些形式:
RefType = CodeDomAssembly.GetType("formname");
CodeDomAssembly.CreateInstance(.....);
MethodInfo = RefType.GetMethod("ShowDialog");
bool? dialogresult = (bool?)MethodInfo.Invoke(RefType , new object[] { });
好的,到目前为止,它仍然有效。 表单返回对话框结果后,KeyHavester类中将出现彩色键。静态类KeyHavester拥有所有键,并且是CodeDomAssembly的引用程序集。所以我认为应该可以这样访问:
RefType = CodeDomAssembly.GetType("KeyHavester"); //static class in RefAssembly
MethodInfo = RefType.GetMethod("GetKeys"); //GetKeys() return a List<string>
我得到的只是RefType == null。那么如何通过CodeDomAssembly访问RefAssembly中的静态KeyHavester类?
RefAssembly是否需要公共令牌? RefAssembly = {FunktionBibliothek,版本= 1.0.0.0,文化=中性,PublicKeyToken =空}
我如何使它工作?