C# ModuleDefinition中未知类型(字面名称为<;Module>;)的说明
我一直在试验MONO.CECIL来改变程序集 我有一个简单的程序集来测试我的代码操作技术,如下所示(简单程序集)。 我还有另一个作用于它的程序集(简单的程序集检查器)。目前我只使用它来检查组件并打印其内部 当循环遍历与程序集关联的ModuleDefinition中包含的类型时,我有两个条目:一个用于FAUXASSEMBLY类,另一个仅称为MODULE(0个字段,0个参数)。我不确定该模块与什么相关 有人能解释一下它的意义和代表什么吗?谢谢 简单组装C# ModuleDefinition中未知类型(字面名称为<;Module>;)的说明,c#,mono.cecil,C#,Mono.cecil,我一直在试验MONO.CECIL来改变程序集 我有一个简单的程序集来测试我的代码操作技术,如下所示(简单程序集)。 我还有另一个作用于它的程序集(简单的程序集检查器)。目前我只使用它来检查组件并打印其内部 当循环遍历与程序集关联的ModuleDefinition中包含的类型时,我有两个条目:一个用于FAUXASSEMBLY类,另一个仅称为MODULE(0个字段,0个参数)。我不确定该模块与什么相关 有人能解释一下它的意义和代表什么吗?谢谢 简单组装 namespace TestAssembly
namespace TestAssembly
{
public static class FauxAssembly
{
static int var1 = 20;
static string var2 = "Hello I Am A String";
static int FauxPrint()
{
Console.WriteLine("PRINTING");
Console.WriteLine("Var1 is : {0}, Var2 is : {1}", var1, var2);
return 0;
}
static void FauxMain()
{
FauxPrint();
Console.WriteLine("ENDING NOW");
}
}
}
简易装配检查员
Mono.Cecil.AssemblyDefinition assembly =
AssemblyDefinition.ReadAssembly(path + filename, new ReaderParameters
{ ReadWrite = true, InMemory = true});
Mono.Cecil.ModuleDefinition module = assembly.MainModule;
Helper.PrintModule(module);
foreach (TypeDefinition type in module.Types)
{
Helper.PrintType(type);
}
(尖括号而非所有大写)是存储全局声明的内部类中的名称。它通常为空,通常只有C++/CLI项目在其中添加定义。谢谢你,谢谢。