Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ModuleDefinition中未知类型(字面名称为<;Module>;)的说明_C#_Mono.cecil - Fatal编程技术网

C# ModuleDefinition中未知类型(字面名称为<;Module>;)的说明

C# ModuleDefinition中未知类型(字面名称为<;Module>;)的说明,c#,mono.cecil,C#,Mono.cecil,我一直在试验MONO.CECIL来改变程序集 我有一个简单的程序集来测试我的代码操作技术,如下所示(简单程序集)。 我还有另一个作用于它的程序集(简单的程序集检查器)。目前我只使用它来检查组件并打印其内部 当循环遍历与程序集关联的ModuleDefinition中包含的类型时,我有两个条目:一个用于FAUXASSEMBLY类,另一个仅称为MODULE(0个字段,0个参数)。我不确定该模块与什么相关 有人能解释一下它的意义和代表什么吗?谢谢 简单组装 namespace TestAssembly

我一直在试验MONO.CECIL来改变程序集

我有一个简单的程序集来测试我的代码操作技术,如下所示(简单程序集)。 我还有另一个作用于它的程序集(简单的程序集检查器)。目前我只使用它来检查组件并打印其内部

当循环遍历与程序集关联的ModuleDefinition中包含的类型时,我有两个条目:一个用于FAUXASSEMBLY类,另一个仅称为MODULE(0个字段,0个参数)。我不确定该模块与什么相关

有人能解释一下它的意义和代表什么吗?谢谢

简单组装

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项目在其中添加定义。谢谢你,谢谢。