本文整理汇总了C#中Mono.Cecil.AssemblyDefinition.Accept方法的典型用法代码示例。如果您正苦于以下问题:C# AssemblyDefinition.Accept方法的具体用法?C# AssemblyDefinition.Accept怎么用?C# AssemblyDefinition.Accept使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mono.Cecil.AssemblyDefinition
的用法示例。
在下文中一共展示了AssemblyDefinition.Accept方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetAssembly
static AssemblyDefinition GetAssembly (ImageReader irv, bool manifestOnly)
{
StructureReader srv = new StructureReader (irv, manifestOnly);
AssemblyDefinition asm = new AssemblyDefinition (
new AssemblyNameDefinition (), srv);
asm.Accept (srv);
return asm;
}
示例2: WriteAssembly
static void WriteAssembly (AssemblyDefinition asm, BinaryWriter bw)
{
asm.Accept (new StructureWriter (asm, bw));
}
示例3: Link
public void Link ()
{
outputAssembly = AssemblyFactory.GetAssembly (Assemblies [0]);
mainModule = outputAssembly.MainModule;
if (mainModule.Name != MainModuleName) {
Console.Error.WriteLine ("Main module is not named \"" + MainModuleName + "\" in assembly " + outputAssembly.Name.FullName);
Environment.Exit (1);
}
mainType = mainModule.Types [MainTypeName];
if (mainType == null) {
Console.Error.WriteLine ("Main module does not contain type \"" + MainTypeName + "\" in assembly " + outputAssembly.Name.FullName);
Environment.Exit (1);
}
outputAssembly.Accept (new StructureMerger (this, outputAssembly, outputAssembly));
for (int i = 1; i < Assemblies.Count; i++) {
AssemblyDefinition asm = AssemblyFactory.GetAssembly (Assemblies [i]);
asm.Accept (new StructureMerger (this, outputAssembly, asm));
}
FixReflectionAfterMerge fix = new FixReflectionAfterMerge (this, outputAssembly, outputAssembly);
fix.Process ();
nativeLibraries.AddExternalMethods (this);
if (OutputIsExecutable) {
outputAssembly.Kind = AssemblyKind.Console;
outputAssembly.EntryPoint = InternalSymbols.EntryPoint;
} else {
outputAssembly.Kind = AssemblyKind.Dll;
}
AssemblyFactory.SaveAssembly (outputAssembly, OutputPath);
}