diff --git a/DotKill.sln b/DotKill.sln
new file mode 100644
index 0000000..44146d7
--- /dev/null
+++ b/DotKill.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.31321.278
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotKill", "DotKill\DotKill.csproj", "{D05155DB-D9E1-4517-8D68-88C590E05FEA}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D05155DB-D9E1-4517-8D68-88C590E05FEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D05155DB-D9E1-4517-8D68-88C590E05FEA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D05155DB-D9E1-4517-8D68-88C590E05FEA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D05155DB-D9E1-4517-8D68-88C590E05FEA}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {17B7BB02-3A42-4CF4-ABB3-1235852049F0}
+ EndGlobalSection
+EndGlobal
diff --git a/DotKill/App.config b/DotKill/App.config
new file mode 100644
index 0000000..5754728
--- /dev/null
+++ b/DotKill/App.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DotKill/DotKill.csproj b/DotKill/DotKill.csproj
new file mode 100644
index 0000000..6311775
--- /dev/null
+++ b/DotKill/DotKill.csproj
@@ -0,0 +1,67 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {D05155DB-D9E1-4517-8D68-88C590E05FEA}
+ Exe
+ DotKill
+ DotKill
+ v4.7.2
+ 512
+ true
+ true
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ .\de4dot.blocks.dll
+
+
+ ..\packages\dnlib.3.3.2\lib\net45\dnlib.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DotKill/KillProtect/AntiDe4Dot.cs b/DotKill/KillProtect/AntiDe4Dot.cs
new file mode 100644
index 0000000..2ba9a19
--- /dev/null
+++ b/DotKill/KillProtect/AntiDe4Dot.cs
@@ -0,0 +1,390 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using dnlib.DotNet;
+using dnlib.DotNet.Emit;
+
+namespace DotKill.KillProtect
+{
+ class AntiDe4Dot
+ {
+ public static int countofths = 0;
+
+ public static int removed = 0;
+
+ public static int removedantidedot = 0;
+
+ // Token: 0x06000003 RID: 3 RVA: 0x00002084 File Offset: 0x00000284
+ public static int ExecuteDe4Dot(ModuleDefMD module)
+ {
+ foreach (TypeDef type in (from t in module.GetTypes()
+ where t.FullName.Contains("Form") && t.HasInterfaces && t.Interfaces.Count == 2
+ select t).ToArray())
+ {
+ module.Types.Remove(type);
+ removedantidedot++;
+ }
+ return removedantidedot;
+ }
+
+ public static string Execute(ModuleDefMD module)
+ {
+ foreach (TypeDef type in from t in module.Types where t.HasMethods select t)
+ {
+ foreach (MethodDef method in type.Methods.Where((MethodDef m) => m.HasBody && m.Body.HasInstructions))
+ {
+ bool hasBody = method.HasBody;
+ if (hasBody)
+ {
+ IList instr = method.Body.Instructions;
+ for (int i = 0; i < instr.Count; i++)
+ {
+ bool flag = instr[i].OpCode == OpCodes.Nop && !IsNopBranchTarget(method, instr[i]) && !IsNopSwitchTarget(method, instr[i]) && !IsNopExceptionHandlerTarget(method, instr[i]);
+ if (flag)
+ {
+ instr.RemoveAt(i);
+ removed++;
+ i--;
+ }
+ }
+ }
+ }
+ }
+ Execute2(module);
+ return countofths.ToString() + "+" + removed.ToString();
+ }
+
+ private static IList dgsjakjd(ModuleDef A_0)
+ {
+ return A_0.Types;
+ }
+
+ public static void Execute2(ModuleDefMD module)
+ {
+ for (int i = 0; i < module.Types.Count; i++)
+ {
+ TypeDef typeDef = module.Types[i];
+ bool hasInterfaces = typeDef.HasInterfaces;
+ if (hasInterfaces)
+ {
+ for (int jic = 0; jic < typeDef.Interfaces.Count; jic++)
+ {
+ bool flag19 = typeDef.Interfaces[jic].Interface != null;
+ if (flag19)
+ {
+ bool flag20 = typeDef.Interfaces[jic].Interface.Name.Contains(typeDef.Name) || typeDef.Name.Contains(typeDef.Interfaces[jic].Interface.Name);
+ if (flag20)
+ {
+ module.Types.RemoveAt(i);
+ countofths++;
+ }
+ }
+ }
+ }
+ }
+
+ for (int j = 0; j < module.CustomAttributes.Count; j++)
+ {
+ CustomAttribute attribute = module.CustomAttributes[j];
+ bool flag = attribute == null;
+ bool flag21 = !flag;
+ if (flag21)
+ {
+ TypeDef type = attribute.AttributeType.ResolveTypeDef();
+ bool flag2 = type == null;
+ bool flag22 = !flag2;
+ if (flag22)
+ {
+ bool flag3 = type.Name == "ConfusedByAttribute";
+ bool flag23 = flag3;
+ if (flag23)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag2123132123123213 = type.Name == "ZYXDNGuarder";
+ bool flag24 = flag2123132123123213;
+ if (flag24)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag4 = type.Name == "YanoAttribute";
+ bool flag25 = flag4;
+ if (flag25)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag5 = type.Name == "Xenocode.Client.Attributes.AssemblyAttributes.ProcessedByXenocode";
+ bool flag26 = flag5;
+ if (flag26)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag6 = type.Name == "SmartAssembly.Attributes.PoweredByAttribute";
+ bool flag27 = flag6;
+ if (flag27)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag7 = type.Name == "SecureTeam.Attributes.ObfuscatedByAgileDotNetAttribute";
+ bool flag28 = flag7;
+ if (flag28)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag8 = type.Name == "ObfuscatedByGoliath";
+ bool flag29 = flag8;
+ if (flag29)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag9 = type.Name == "NineRays.Obfuscator.Evaluation";
+ bool flag30 = flag9;
+ if (flag30)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag10 = type.Name == "EMyPID_8234_";
+ bool flag31 = flag10;
+ if (flag31)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag11 = type.Name == "DotfuscatorAttribute";
+ bool flag32 = flag11;
+ if (flag32)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag12 = type.Name == "CryptoObfuscator.ProtectedWithCryptoObfuscatorAttribute";
+ bool flag33 = flag12;
+ if (flag33)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag13 = type.Name == "BabelObfuscatorAttribute";
+ bool flag34 = flag13;
+ if (flag34)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag14 = type.Name == ".NETGuard";
+ bool flag35 = flag14;
+ if (flag35)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag15 = type.Name == "OrangeHeapAttribute";
+ bool flag36 = flag15;
+ if (flag36)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag16 = type.Name == "WTF";
+ bool flag37 = flag16;
+ if (flag37)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag17 = type.Name == "";
+ bool flag38 = flag17;
+ if (flag38)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool duwggdyq3e6f7yqwsdas = type.Name == "SecureTeam.Attributes.ObfuscatedByCliSecureAttribute";
+ bool flag39 = duwggdyq3e6f7yqwsdas;
+ if (flag39)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool sajdha8edy7128 = type.Name == "SmartAssembly.Attributes.PoweredByAttribute";
+ bool flag40 = sajdha8edy7128;
+ if (flag40)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag18 = type.Name == "Xenocode.Client.Attributes.AssemblyAttributes.ProcessedByXenocode";
+ bool flag41 = flag18;
+ if (flag41)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag42 = type.Name == "OiCuntJollyGoodDayYeHavin_____________________________________________________";
+ if (flag42)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag43 = type.Name == "ProtectedWithCryptoObfuscatorAttribute";
+ if (flag43)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag44 = type.Name == "NetGuard";
+ if (flag44)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag45 = type.Name == "ZYXDNGuarder";
+ if (flag45)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag46 = type.Name == "DotfuscatorAttribute";
+ if (flag46)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ bool flag47 = type.Name == "SecureTeam.Attributes.ObfuscatedByAgileDotNetAttribute";
+ if (flag47)
+ {
+ dgsjakjd(module).Remove(type);
+ module.CustomAttributes.Remove(attribute);
+ countofths++;
+ }
+ }
+ }
+ }
+ foreach (TypeDef type2 in from t in module.Types.ToList()
+ where t.HasInterfaces
+ select t)
+ {
+ for (int k = 0; k < type2.Interfaces.Count; k++)
+ {
+ bool flag48 = type2.Interfaces[k].Interface.Name.Contains(type2.Name) || type2.Name.Contains(type2.Interfaces[k].Interface.Name);
+ if (flag48)
+ {
+ module.Types.Remove(type2);
+ countofths++;
+ }
+ }
+ }
+ List fakeObfuscators = new List
+ {
+ "DotNetPatcherObfuscatorAttribute", "DotNetPatcherPackerAttribute", "DotfuscatorAttribute", "ObfuscatedByGoliath", "dotNetProtector", "PoweredByAttribute", "AssemblyInfoAttribute", "BabelAttribute", "CryptoObfuscator.ProtectedWithCryptoObfuscatorAttribute", "Xenocode.Client.Attributes.AssemblyAttributes.ProcessedByXenocode",
+ "NineRays.Obfuscator.Evaluation", "YanoAttribute", "SmartAssembly.Attributes.PoweredByAttribute", "NetGuard", "SecureTeam.Attributes.ObfuscatedByCliSecureAttribute", "Reactor", "ZYXDNGuarder", "CryptoObfuscator", "MaxtoCodeAttribute", ".NETReactorAttribute",
+ "BabelObfuscatorAttribute"
+ };
+ for (int l = 0; l < module.Types.ToList().Count; l++)
+ {
+ bool flag49 = fakeObfuscators.Contains(module.Types[l].Name);
+ if (flag49)
+ {
+ module.Types.Remove(module.Types[l]);
+ countofths++;
+ }
+ }
+ }
+
+ private static bool IsNopExceptionHandlerTarget(MethodDef method, Instruction nopInstr)
+ {
+ bool flag = !method.Body.HasExceptionHandlers;
+ bool result;
+ if (flag)
+ {
+ result = false;
+ }
+ else
+ {
+ IList exceptionHandlers = method.Body.ExceptionHandlers;
+ foreach (ExceptionHandler exceptionHandler in exceptionHandlers)
+ {
+ bool flag2 = exceptionHandler.FilterStart == nopInstr || exceptionHandler.HandlerEnd == nopInstr || exceptionHandler.HandlerStart == nopInstr || exceptionHandler.TryEnd == nopInstr || exceptionHandler.TryStart == nopInstr;
+ if (flag2)
+ {
+ return true;
+ }
+ }
+ result = false;
+ }
+ return result;
+ }
+
+ private static bool IsNopSwitchTarget(MethodDef method, Instruction nopInstr)
+ {
+ IList instr = method.Body.Instructions;
+ for (int i = 0; i < instr.Count; i++)
+ {
+ bool flag = instr[i].OpCode.OperandType == OperandType.InlineSwitch && instr[i].Operand != null;
+ if (flag)
+ {
+ Instruction[] source = (Instruction[])instr[i].Operand;
+ bool flag2 = source.Contains(nopInstr);
+ if (flag2)
+ {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ private static bool IsNopBranchTarget(MethodDef method, Instruction nopInstr)
+ {
+ IList instr = method.Body.Instructions;
+ for (int i = 0; i < instr.Count; i++)
+ {
+ bool flag = instr[i].OpCode.OperandType == OperandType.InlineBrTarget || (instr[i].OpCode.OperandType == OperandType.ShortInlineBrTarget && instr[i].Operand != null);
+ if (flag)
+ {
+ Instruction instruction2 = (Instruction)instr[i].Operand;
+ bool flag2 = instruction2 == nopInstr;
+ if (flag2)
+ {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+ }
+}
diff --git a/DotKill/KillProtect/AntiDecompiler.cs b/DotKill/KillProtect/AntiDecompiler.cs
new file mode 100644
index 0000000..53d7822
--- /dev/null
+++ b/DotKill/KillProtect/AntiDecompiler.cs
@@ -0,0 +1,38 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using dnlib.DotNet;
+using dnlib.DotNet.Emit;
+
+namespace DotKill.KillProtect
+{
+ class AntiDecompiler
+ {
+ public static int count = 0;
+
+ public static int Execute(ModuleDefMD module)
+ {
+ foreach (TypeDef type in module.GetTypes())
+ {
+ foreach (MethodDef method in type.Methods)
+ {
+ if (method != null && method.HasBody && method.Body.HasInstructions)
+ {
+ try
+ {
+ AntiDecompilerPhase.Execute(method);
+ count++;
+ }
+ catch (Exception ex)
+ {
+
+ }
+ }
+ }
+ }
+ return count;
+ }
+ }
+}
diff --git a/DotKill/KillProtect/AntiDecompilerPhase.cs b/DotKill/KillProtect/AntiDecompilerPhase.cs
new file mode 100644
index 0000000..66a40d3
--- /dev/null
+++ b/DotKill/KillProtect/AntiDecompilerPhase.cs
@@ -0,0 +1,16 @@
+using System;
+using dnlib.DotNet;
+using DotKill.KillProtect;
+
+namespace DotKill.KillProtect
+{
+ internal static class AntiDecompilerPhase
+ {
+ public static void Execute(MethodDef method)
+ {
+ AntiDecompilerUtils.CallSizeOfCalli(method);
+ AntiDecompilerUtils.CallUnaligned(method);
+ AntiDecompilerUtils.CallConstrained(method);
+ }
+ }
+}
diff --git a/DotKill/KillProtect/AntiDecompilerUtils.cs b/DotKill/KillProtect/AntiDecompilerUtils.cs
new file mode 100644
index 0000000..5d8d321
--- /dev/null
+++ b/DotKill/KillProtect/AntiDecompilerUtils.cs
@@ -0,0 +1,128 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using dnlib.DotNet;
+using dnlib.DotNet.Emit;
+
+namespace DotKill.KillProtect
+{
+ public static class AntiDecompilerUtils
+ {
+ internal static bool DetectCallSizeOfCalli(MethodDef method)
+ {
+ IList body = method.Body.ExceptionHandlers;
+ foreach (ExceptionHandler exceptionHandler in body.ToArray())
+ {
+ bool flag = AntiDecompilerUtils.List.Contains(exceptionHandler.TryStart.OpCode) && exceptionHandler.TryStart.Operand == null;
+ if (flag)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ internal static bool DetectCallUnaligned(MethodDef method)
+ {
+ IList instr = method.Body.Instructions;
+ for (int i = 0; i < instr.Count; i++)
+ {
+ bool flag = !instr[i].IsBr();
+ if (!flag)
+ {
+ bool flag2 = instr[i + 1].OpCode.Code != Code.Unaligned;
+ if (!flag2)
+ {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ internal static bool DetectCallConstrained(MethodDef method)
+ {
+ IList instr = method.Body.Instructions;
+ for (int i = 0; i < instr.Count; i++)
+ {
+ bool flag = instr[i].IsBr() && instr[i + 1].OpCode == OpCodes.Constrained;
+ if (flag)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ internal static void CallSizeOfCalli(MethodDef method)
+ {
+ bool hasprotection = AntiDecompilerUtils.DetectCallSizeOfCalli(method);
+ bool flag = !hasprotection;
+ if (!flag)
+ {
+ IList body = method.Body.ExceptionHandlers;
+ foreach (ExceptionHandler exceptionHandler in body.ToArray())
+ {
+ bool flag2 = AntiDecompilerUtils.List.Contains(exceptionHandler.TryStart.OpCode) && exceptionHandler.TryStart.Operand == null;
+ if (flag2)
+ {
+ IList instr = method.Body.Instructions;
+ int endIndex = instr.IndexOf(exceptionHandler.TryEnd);
+ for (int i = 0; i < endIndex; i++)
+ {
+ instr[i].OpCode = OpCodes.Nop;
+ }
+ body.Remove(exceptionHandler);
+ }
+ }
+ }
+ }
+
+ internal static void CallUnaligned(MethodDef method)
+ {
+ bool hasprotection = AntiDecompilerUtils.DetectCallUnaligned(method);
+ bool flag = !hasprotection;
+ if (!flag)
+ {
+ IList instr = method.Body.Instructions;
+ for (int i = 0; i < instr.Count; i++)
+ {
+ bool flag2 = !instr[i].IsBr();
+ if (!flag2)
+ {
+ bool flag3 = instr[i + 1].OpCode.Code != Code.Unaligned;
+ if (!flag3)
+ {
+ instr.RemoveAt(i + 1);
+ }
+ }
+ }
+ }
+ }
+
+ internal static void CallConstrained(MethodDef method)
+ {
+ bool hasprotection = AntiDecompilerUtils.DetectCallConstrained(method);
+ bool flag = !hasprotection;
+ if (!flag)
+ {
+ IList instr = method.Body.Instructions;
+ for (int i = 0; i < instr.Count; i++)
+ {
+ bool flag2 = instr[i].IsBr() && instr[i + 1].OpCode == OpCodes.Constrained;
+ if (flag2)
+ {
+ instr.RemoveAt(i + 1);
+ }
+ }
+ }
+ }
+
+ private static readonly OpCode[] List = new OpCode[]
+ {
+ OpCodes.Call,
+ OpCodes.Sizeof,
+ OpCodes.Calli
+ };
+ }
+}
diff --git a/DotKill/KillProtect/CFlow.cs b/DotKill/KillProtect/CFlow.cs
new file mode 100644
index 0000000..84f0de3
--- /dev/null
+++ b/DotKill/KillProtect/CFlow.cs
@@ -0,0 +1,94 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using dnlib.DotNet;
+using dnlib.DotNet.Emit;
+
+namespace DotKill.KillProtect
+{
+ class CFlow
+ {
+ public static int removed = 0;
+
+ public static void RemoveUselessNops(MethodDef method)
+ {
+ IList instr = method.Body.Instructions;
+ for (int i = 0; i < instr.Count; i++)
+ {
+ while (instr[i].OpCode == OpCodes.Nop && !IsNopBranchTarget(method, instr[i]) && !IsNopSwitchTarget(method, instr[i]) && !IsNopExceptionHandlerTarget(method, instr[i]))
+ {
+ method.Body.Instructions.RemoveAt(i);
+ if (instr[i] == instr.Last())
+ {
+ break;
+ }
+ }
+ }
+ }
+
+ private static bool IsNopExceptionHandlerTarget(MethodDef method, Instruction nopInstr)
+ {
+ if (!method.Body.HasExceptionHandlers)
+ {
+ return false;
+ }
+ return method.Body.ExceptionHandlers.Any((ExceptionHandler exceptionHandler) => exceptionHandler.FilterStart == nopInstr || exceptionHandler.HandlerEnd == nopInstr || exceptionHandler.HandlerStart == nopInstr || exceptionHandler.TryEnd == nopInstr || exceptionHandler.TryStart == nopInstr);
+ }
+
+
+ private static bool IsNopSwitchTarget(MethodDef method, Instruction nopInstr)
+ {
+ return (from t in method.Body.Instructions
+ where t.OpCode.OperandType == OperandType.InlineSwitch && t.Operand != null
+ select (Instruction[])t.Operand).Any((Instruction[] source) => source.Contains(nopInstr));
+ }
+
+ private static bool IsNopBranchTarget(MethodDef method, Instruction nopInstr)
+ {
+ return (from t in method.Body.Instructions
+ where t.OpCode.OperandType == OperandType.InlineBrTarget || (t.OpCode.OperandType == OperandType.ShortInlineBrTarget && t.Operand != null)
+ select (Instruction)t.Operand).Any((Instruction instruction2) => instruction2 == nopInstr);
+ }
+
+
+ public static int Execute(ModuleDefMD module)
+ {
+ TypeDef[] array = (from t in module.GetTypes()
+ where t.HasMethods
+ select t).ToArray();
+ for (int j = 0; j < array.Length; j++)
+ {
+ foreach (MethodDef method in array[j].Methods.Where((MethodDef m) => m.HasBody && m.Body.HasInstructions && m.Body.HasVariables))
+ {
+ Local[] array2 = method.Body.Variables.Where((Local v) => v.Type == module.ImportAsTypeSig(typeof(InsufficientMemoryException))).ToArray();
+ foreach (Local variable in array2)
+ {
+ method.Body.Variables.Remove(variable);
+ removed++;
+ }
+ RemoveUselessNops(method);
+ method.Body.SimplifyBranches();
+ IList instr = method.Body.Instructions;
+ for (int i = 0; i < method.Body.Instructions.Count; i++)
+ {
+ if (instr[i].IsLdcI4() && instr[i + 1].IsStloc() && instr[i + 2].IsLdcI4() && instr[i + 3].IsLdcI4() && instr[i + 4].IsLdcI4() && instr[i + 5].OpCode == OpCodes.Xor && instr[i + 6].IsLdcI4() && instr[i + 8].IsLdcI4() && instr[i + 9].IsStloc() && instr[i + 12].OpCode == OpCodes.Nop)
+ {
+ i++;
+ do
+ {
+ method.Body.Instructions.RemoveAt(i);
+ removed++;
+ }
+ while (instr[i].OpCode != OpCodes.Nop);
+ }
+ }
+ method.Body.OptimizeBranches();
+ RemoveUselessNops(method);
+ }
+ }
+ return removed;
+ }
+ }
+}
diff --git a/DotKill/KillProtect/MathProtection.cs b/DotKill/KillProtect/MathProtection.cs
new file mode 100644
index 0000000..ccd1897
--- /dev/null
+++ b/DotKill/KillProtect/MathProtection.cs
@@ -0,0 +1,124 @@
+using dnlib.DotNet;
+using dnlib.DotNet.Emit;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DotKill.KillProtect
+{
+ class MathProtection
+ {
+ public static int removed = 0;
+
+ public static int Execute(ModuleDefMD module)
+ {
+ foreach (TypeDef type in (from x in module.Types
+ where x.HasMethods
+ select x).ToArray())
+ {
+ foreach (MethodDef method in (from x in type.Methods
+ where x.HasBody && x.Body.HasInstructions
+ select x).ToArray())
+ {
+ for (int i = 0; i < method.Body.Instructions.Count; i++)
+ {
+ bool flag = method.Body.Instructions[i].OpCode == OpCodes.Call && method.Body.Instructions[i].Operand.ToString().Contains("System.Math::") && method.Body.Instructions[i].Operand.ToString().Contains("(System.Double)") && method.Body.Instructions[i - 1].OpCode == OpCodes.Ldc_R8;
+ if (flag)
+ {
+ MemberRef memberRef = (MemberRef)method.Body.Instructions[i].Operand;
+ MethodBase invoke = typeof(Math).GetMethod(memberRef.Name, new Type[] { typeof(double) });
+ double arg = (double)method.Body.Instructions[i - 1].Operand;
+ double result = (double)invoke.Invoke(null, new object[] { arg });
+ method.Body.Instructions[i].OpCode = OpCodes.Ldc_R8;
+ method.Body.Instructions[i].Operand = result;
+ method.Body.Instructions[i - 1].OpCode = OpCodes.Nop;
+ removed++;
+ }
+ bool flag2 = method.Body.Instructions[i].OpCode == OpCodes.Call && method.Body.Instructions[i].Operand.ToString().Contains("System.Math::") && method.Body.Instructions[i].Operand.ToString().Contains("(System.Single)") && method.Body.Instructions[i - 1].OpCode == OpCodes.Ldc_R4;
+ if (flag2)
+ {
+ MemberRef memberRef2 = (MemberRef)method.Body.Instructions[i].Operand;
+ MethodBase invoke2 = typeof(Math).GetMethod(memberRef2.Name, new Type[] { typeof(float) });
+ float arg2 = (float)method.Body.Instructions[i - 1].Operand;
+ float result2 = (float)invoke2.Invoke(null, new object[] { arg2 });
+ method.Body.Instructions[i].OpCode = OpCodes.Ldc_R4;
+ method.Body.Instructions[i].Operand = result2;
+ method.Body.Instructions[i - 1].OpCode = OpCodes.Nop;
+ removed++;
+ }
+ bool flag3 = method.Body.Instructions[i].OpCode == OpCodes.Call && method.Body.Instructions[i].Operand.ToString().Contains("System.Math::") && method.Body.Instructions[i].Operand.ToString().Contains("(System.Int32)") && method.Body.Instructions[i - 1].OpCode == OpCodes.Ldc_I4;
+ if (flag3)
+ {
+ MemberRef memberRef3 = (MemberRef)method.Body.Instructions[i].Operand;
+ MethodBase invoke3 = typeof(Math).GetMethod(memberRef3.Name, new Type[] { typeof(int) });
+ int arg3 = (int)method.Body.Instructions[i - 1].Operand;
+ int result3 = (int)invoke3.Invoke(null, new object[] { arg3 });
+ method.Body.Instructions[i].OpCode = OpCodes.Ldc_I4;
+ method.Body.Instructions[i].Operand = result3;
+ method.Body.Instructions[i - 1].OpCode = OpCodes.Nop;
+ removed++;
+ }
+ bool flag4 = method.Body.Instructions[i].OpCode == OpCodes.Call && method.Body.Instructions[i].Operand.ToString().Contains("System.Math::") && method.Body.Instructions[i].Operand.ToString().Contains("(System.Double,System.Double)") && method.Body.Instructions[i - 1].OpCode == OpCodes.Ldc_R8 && method.Body.Instructions[i - 2].OpCode == OpCodes.Ldc_R8;
+ if (flag4)
+ {
+ MemberRef memberRef4 = (MemberRef)method.Body.Instructions[i].Operand;
+ MethodBase invoke4 = typeof(Math).GetMethod(memberRef4.Name, new Type[]
+ {
+ typeof(double),
+ typeof(double)
+ });
+ double arg4 = (double)method.Body.Instructions[i - 1].Operand;
+ double arg5 = (double)method.Body.Instructions[i - 2].Operand;
+ double result4 = (double)invoke4.Invoke(null, new object[] { arg4, arg5 });
+ method.Body.Instructions[i].OpCode = OpCodes.Ldc_R8;
+ method.Body.Instructions[i].Operand = result4;
+ method.Body.Instructions[i - 1].OpCode = OpCodes.Nop;
+ method.Body.Instructions[i - 2].OpCode = OpCodes.Nop;
+ removed++;
+ }
+ bool flag5 = method.Body.Instructions[i].OpCode == OpCodes.Call && method.Body.Instructions[i].Operand.ToString().Contains("System.Math::") && method.Body.Instructions[i].Operand.ToString().Contains("(System.Single,System.Single)") && method.Body.Instructions[i - 1].OpCode == OpCodes.Ldc_R4 && method.Body.Instructions[i - 2].OpCode == OpCodes.Ldc_R4;
+ if (flag5)
+ {
+ MemberRef memberRef5 = (MemberRef)method.Body.Instructions[i].Operand;
+ MethodBase invoke5 = typeof(Math).GetMethod(memberRef5.Name, new Type[]
+ {
+ typeof(float),
+ typeof(float)
+ });
+ float arg6 = (float)method.Body.Instructions[i - 1].Operand;
+ float arg7 = (float)method.Body.Instructions[i - 2].Operand;
+ float result5 = (float)invoke5.Invoke(null, new object[] { arg6, arg7 });
+ method.Body.Instructions[i].OpCode = OpCodes.Ldc_R4;
+ method.Body.Instructions[i].Operand = result5;
+ method.Body.Instructions[i - 1].OpCode = OpCodes.Nop;
+ method.Body.Instructions[i - 2].OpCode = OpCodes.Nop;
+ removed++;
+ }
+ bool flag6 = method.Body.Instructions[i].OpCode == OpCodes.Call && method.Body.Instructions[i].Operand.ToString().Contains("System.Math::") && method.Body.Instructions[i].Operand.ToString().Contains("(System.Int32,System.Int32)") && method.Body.Instructions[i - 1].OpCode == OpCodes.Ldc_I4 && method.Body.Instructions[i - 2].OpCode == OpCodes.Ldc_I4;
+ if (flag6)
+ {
+ MemberRef memberRef6 = (MemberRef)method.Body.Instructions[i].Operand;
+ MethodBase invoke6 = typeof(Math).GetMethod(memberRef6.Name, new Type[]
+ {
+ typeof(int),
+ typeof(int)
+ });
+ int arg8 = (int)method.Body.Instructions[i - 1].Operand;
+ int arg9 = (int)method.Body.Instructions[i - 2].Operand;
+ int result6 = (int)invoke6.Invoke(null, new object[] { arg8, arg9 });
+ method.Body.Instructions[i].OpCode = OpCodes.Ldc_I4;
+ method.Body.Instructions[i].Operand = result6;
+ method.Body.Instructions[i - 1].OpCode = OpCodes.Nop;
+ method.Body.Instructions[i - 2].OpCode = OpCodes.Nop;
+ removed++;
+ }
+ }
+ }
+ }
+ return removed;
+ }
+ }
+}
diff --git a/DotKill/KillProtect/de4dot_blocks.cs b/DotKill/KillProtect/de4dot_blocks.cs
new file mode 100644
index 0000000..4c2ec78
--- /dev/null
+++ b/DotKill/KillProtect/de4dot_blocks.cs
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using dnlib.DotNet;
+using dnlib.DotNet.Emit;
+using de4dot.blocks;
+using de4dot.blocks.cflow;
+
+namespace DotKill.KillProtect
+{
+ class de4dot_blocks
+ {
+ public static string Execute(ModuleDefMD module)
+ {
+ foreach (TypeDef type in module.GetTypes())
+ {
+ foreach (MethodDef method in type.Methods)
+ {
+ if (method != null)
+ {
+ try
+ {
+ BlocksCflowDeobfuscator blocksCflowDeobfuscator = new BlocksCflowDeobfuscator();
+ Blocks blocks = new Blocks(method);
+ blocksCflowDeobfuscator.Initialize(blocks);
+ blocksCflowDeobfuscator.Deobfuscate();
+ blocks.RepartitionBlocks();
+ IList list;
+ IList exceptionHandlers;
+ blocks.GetCode(out list, out exceptionHandlers);
+ DotNetUtils.RestoreBody(method, list, exceptionHandlers);
+ }
+ catch (Exception)
+ {
+ break;
+ }
+ }
+ }
+ }
+ return "N/A";
+ }
+ }
+}
diff --git a/DotKill/bin/Debug/DotKill.exe b/DotKill/bin/Debug/DotKill.exe
new file mode 100644
index 0000000..1b36a7c
Binary files /dev/null and b/DotKill/bin/Debug/DotKill.exe differ
diff --git a/DotKill/bin/Debug/DotKill.exe.config b/DotKill/bin/Debug/DotKill.exe.config
new file mode 100644
index 0000000..2f729e0
--- /dev/null
+++ b/DotKill/bin/Debug/DotKill.exe.config
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DotKill/bin/Debug/DotKill.pdb b/DotKill/bin/Debug/DotKill.pdb
new file mode 100644
index 0000000..917389e
Binary files /dev/null and b/DotKill/bin/Debug/DotKill.pdb differ
diff --git a/DotKill/bin/Debug/de4dot.blocks.dll b/DotKill/bin/Debug/de4dot.blocks.dll
new file mode 100644
index 0000000..ebf41a8
Binary files /dev/null and b/DotKill/bin/Debug/de4dot.blocks.dll differ
diff --git a/DotKill/bin/Debug/dnlib.dll b/DotKill/bin/Debug/dnlib.dll
new file mode 100644
index 0000000..c43c9b6
Binary files /dev/null and b/DotKill/bin/Debug/dnlib.dll differ
diff --git a/DotKill/bin/Debug/dnlib.xml b/DotKill/bin/Debug/dnlib.xml
new file mode 100644
index 0000000..7e70c04
--- /dev/null
+++ b/DotKill/bin/Debug/dnlib.xml
@@ -0,0 +1,38514 @@
+
+
+
+ dnlib
+
+
+
+
+ Returns types without getting stuck in an infinite loop
+
+
+
+
+ Gets a list of all types and nested types
+
+ A list of types
+
+
+
+ Assembly flags from Assembly.Flags column.
+
+ See CorHdr.h/CorAssemblyFlags
+
+
+ No flags set
+
+
+ The assembly ref holds the full (unhashed) public key.
+
+
+ Processor Architecture unspecified
+
+
+ Processor Architecture: neutral (PE32)
+
+
+ Processor Architecture: x86 (PE32)
+
+
+ Processor Architecture: Itanium (PE32+)
+
+
+ Processor Architecture: AMD X64 (PE32+)
+
+
+ Processor Architecture: ARM (PE32)
+
+
+ applies to any platform but cannot run on any (e.g. reference assembly), should not have "specified" set
+
+
+ Propagate PA flags to AssemblyRef record
+
+
+ Bits describing the processor architecture
+
+
+ Bits describing the PA incl. Specified
+
+
+ NOT A FLAG, shift count in PA flags <--> index conversion
+
+
+ From "DebuggableAttribute".
+
+
+ From "DebuggableAttribute".
+
+
+ The assembly can be retargeted (at runtime) to an assembly from a different publisher.
+
+
+
+
+
+
+
+
+ Bits describing ContentType
+
+
+
+ A high-level representation of a row in the Assembly table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Assembly.HashAlgId
+
+
+
+
+
+
+
+ From columns Assembly.MajorVersion, Assembly.MinorVersion, Assembly.BuildNumber,
+ Assembly.RevisionNumber.
+
+ If is null
+
+
+
+
+
+
+ From column Assembly.Flags
+
+
+
+ Attributes
+
+
+
+ From column Assembly.PublicKey
+
+ An empty is created if the caller writes null
+
+
+
+
+
+
+ Gets the public key token which is calculated from
+
+
+
+
+ From column Assembly.Name
+
+
+
+ Name
+
+
+
+ From column Assembly.Locale
+
+
+
+ Name
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all modules. The first module is always the .
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the manifest (main) module. This is always the first module in .
+ null is returned if is empty.
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+ Finds a module in this assembly
+
+ Name of module
+ A instance or null if it wasn't found.
+
+
+
+ Creates an instance from a file
+
+ File name of an existing .NET assembly
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a file
+
+ File name of an existing .NET assembly
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a byte[]
+
+ Contents of a .NET assembly
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a byte[]
+
+ Contents of a .NET assembly
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a memory location
+
+ Address of a .NET assembly
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a memory location
+
+ Address of a .NET assembly
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Gets the assembly name with the public key
+
+
+
+
+ Gets the assembly name with the public key token
+
+
+
+
+ Finds a . For speed, enable
+ if possible (read the documentation first).
+
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing or null if it wasn't found.
+
+
+
+ Finds a . Its scope (i.e., module or assembly) is ignored when
+ looking up the type. For speed, enable
+ if possible (read the documentation first).
+
+ The type ref
+ An existing or null if it wasn't found.
+
+
+
+ Writes the assembly to a file on disk. If the file exists, it will be truncated.
+
+ Filename
+ Writer options
+
+
+
+ Writes the assembly to a stream.
+
+ Destination stream
+ Writer options
+
+
+
+ Checks whether this assembly is a friend assembly of
+
+ Target assembly
+
+
+
+ Adds or updates an existing System.Reflection.AssemblySignatureKeyAttribute
+ attribute. This attribute is used in enhanced strong naming with key migration.
+ See http://msdn.microsoft.com/en-us/library/hh415055.aspx
+
+ Identity public key
+ Identity strong name key pair
+ Signature public key
+
+
+
+ Gets the original System.Runtime.Versioning.TargetFrameworkAttribute custom attribute information if possible.
+ It reads this from the original metadata and doesn't use .
+ Returns false if the custom attribute isn't present or if it is invalid.
+
+ Framework name
+ Version
+ Profile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An Assembly row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Simple name
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key
+ Locale
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Assembly name info
+ If is null
+
+
+
+ Constructor
+
+ Assembly name info
+ If is null
+
+
+
+ Created from a row in the Assembly table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Assembly row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Hashes some data according to a
+
+
+
+
+ Constructor
+
+ If is an unsupported hash algorithm, then
+ will be used as the hash algorithm.
+ The algorithm to use
+
+
+
+
+
+
+ Hash data
+
+ If is an unsupported hash algorithm, then
+ will be used as the hash algorithm.
+ The data
+ The algorithm to use
+ Hashed data or null if was null
+
+
+
+ Hash data
+
+ Data
+
+
+
+ Hash data
+
+ Data
+ Offset
+ Length
+
+
+
+ Hash stream data
+
+ Stream
+ Number of bytes to hash
+ Temp buffer
+
+
+
+ Computes the hash
+
+
+
+
+ Creates a public key token from the hash of some
+
+ A public key is hashed, and the last 8 bytes of the hash, in reverse
+ order, is used as the public key token
+ The data
+ A new instance
+
+
+
+ Any ALG_CLASS_HASH type in WinCrypt.h can be used by Microsoft's CLI implementation
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a reserved value in the CLI
+
+
+ The only algorithm supported by the CLI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Extension methods
+
+
+
+
+ Gets the field type
+
+ this
+ Field type or null if none
+
+
+
+ Gets the return type
+
+ this
+ Return type or null if none
+
+
+
+ Gets the parameters
+
+ this
+ The parameters
+
+
+
+ Gets the parameter count
+
+ this
+ Parameter count
+
+
+
+ Gets the generic parameter count
+
+ this
+ Generic parameter count
+
+
+
+ Gets the parameters after the sentinel
+
+ this
+ Parameters after sentinel or null if none
+
+
+
+ Gets the locals
+
+ this
+ All locals
+
+
+
+ Gets the generic arguments
+
+ this
+ All generic arguments
+
+
+
+ Gets the property
+
+ this
+ The type's property or
+ false if input isnull
+
+
+
+ Returns true if it's an integer or a floating point type
+
+ Element type
+
+
+
+
+ Returns the size of the element type in bytes or -1 if it's unknown
+
+ Element type
+ Size of a pointer
+
+
+
+
+ Checks whether it's a value type
+
+ this
+ true if it's a value type, false if it's not a value type or
+ if we couldn't determine whether it's a value type. Eg., it could be a generic
+ instance type.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver or
+ null if the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver or
+ null if the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver
+ If the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver
+ If the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver
+ If the assembly couldn't be found.
+
+
+
+ Checks whether appears to be the core library (eg.
+ mscorlib, System.Runtime or corefx).
+
+ If is a reference to a private corlib (eg. System.Private.CoreLib),
+ this method returns false unless is an
+ whose manifest (first) module defines System.Object. This check is performed in
+ the constructor and the result can be found in .
+
+ Note that this method also returns true if it appears to be a 'public' corlib,
+ eg. mscorlib, etc, even if it internally possibly references a private corlib.
+
+ The assembly
+
+
+
+ Converts to a instance
+
+ The assembly
+ A new instance
+
+
+
+ Converts to a
+
+ The type
+ true if we should try to figure out whether
+ is a
+ A instance or null if
+ is invalid
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns the base type of . Throws if we can't resolve
+ a .
+
+ The type
+ The base type or null if there's no base type
+
+
+
+ Returns the base type of
+
+ The type
+ true if we should throw if we can't
+ resolve a . false if we should ignore the error and
+ just return null.
+ The base type or null if there's no base type, or if
+ is true and we couldn't resolve
+ a
+
+
+
+ Gets the scope type, resolves it, and returns the
+
+ Type
+ A or null if input was null or if we
+ couldn't resolve the reference.
+
+
+
+ Gets the scope type, resolves it, and returns the
+
+ Type
+ A instance.
+ If the type couldn't be resolved
+
+
+
+ Resolves an to a . Returns null if it
+ was not possible to resolve it. See also
+
+ Field to resolve
+ The or null if is
+ null or if it wasn't possible to resolve it (the field doesn't exist or its
+ assembly couldn't be loaded)
+
+
+
+ Resolves an to a and throws an exception if
+ it was not possible to resolve it. See also
+
+ Field to resolve
+ The
+
+
+
+ Resolves an to a . Returns null if it
+ was not possible to resolve it. See also . If
+ is a , then the
+ property is resolved and returned.
+
+ Method to resolve
+ The or null if is
+ null or if it wasn't possible to resolve it (the method doesn't exist or its
+ assembly couldn't be loaded)
+
+
+
+ Resolves an to a and throws an exception
+ if it was not possible to resolve it. See also . If
+ is a , then the
+ property is resolved and returned.
+
+ Method to resolve
+ The
+
+
+
+ Returns the definition assembly of a
+
+ Member reference
+
+
+
+
+ Gets the normal visible parameters, doesn't include the hidden 'this' parameter
+
+ this
+ The normal visible parameters
+
+
+
+ Gets the normal visible parameter count, doesn't include the hidden 'this' parameter
+
+ this
+ Normal visible parameter count
+
+
+
+ Checks whether any normal visible parameter exists, doesn't include the hidden 'this' parameter
+
+ this
+ true if there's at least one normal visible parameter
+
+
+
+ Gets a normal visible parameter, doesn't include the hidden 'this' parameter
+
+ this
+ Normal visible parameter index
+
+
+
+
+ Converts a to a
+
+ The sig
+
+
+
+ Returns true if it's an integer or a floating point type
+
+ Type
+
+
+
+
+ Gets a if matches a primitive type.
+
+ this
+ The type
+ A or null if it didn't match any primitive type
+
+
+
+ Gets a if and
+ matches a primitive type.
+
+ this
+ Namespace
+ Name
+ Definition assembly
+ A or null if it didn't match any primitive type
+
+
+
+ Gets a if and
+ matches a primitive type.
+
+ this
+ Namespace
+ Name
+ Definition assembly
+ A or null if it didn't match any primitive type
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Resolves a type
+
+ this
+ The type
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves a type
+
+ this
+ The type
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Resolves a type
+
+ this
+ The type
+ The module that needs to resolve the type or null
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Resolves a method or a field
+
+ this
+ A method/field reference
+ A or a instance
+ If the method/field couldn't be resolved
+
+
+
+ Resolves a field
+
+ this
+ A field reference
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves a field
+
+ this
+ A field reference
+ A instance or null if it couldn't be resolved.
+ If the field couldn't be resolved
+
+
+
+ Resolves a method
+
+ this
+ A method reference
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves a method
+
+ this
+ A method reference
+ A instance or null if it couldn't be resolved.
+ If the method couldn't be resolved
+
+
+
+ Resolves a token
+
+ This
+ The metadata token
+ A or null if is invalid
+
+
+
+ Returns , but if it's a nested ,
+ return the non-nested
+
+ this
+ The scope type
+
+
+
+ Finds a . Its scope (i.e., module or assembly) is ignored when
+ looking up the type.
+
+ this
+ The type ref
+ An existing or null if it wasn't found.
+ If type couldn't be found
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing
+ If type couldn't be found
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by /
+ An existing or null if it wasn't found.
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by /
+ An existing
+ If type couldn't be found
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by +
+ An existing or null if it wasn't found.
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by +
+ An existing
+ If type couldn't be found
+
+
+
+ Checks whether a exists. 's scope (i.e.,
+ module or assembly) is ignored when looking up the type.
+
+ this
+ The type ref
+ true if the exists, false otherwise
+
+
+
+ Checks whether a exists
+
+ this
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ true if the exists, false otherwise
+
+
+
+ Checks whether a exists
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by /
+ true if the exists, false otherwise
+
+
+
+ Checks whether a exists
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by +
+ true if the exists, false otherwise
+
+
+
+ Removes all C optional/required modifiers
+
+ A instance
+ Input after all modifiers
+
+
+
+ Removes pinned signature
+
+ The type
+ Input after pinned signature
+
+
+
+ Removes all modifiers and pinned sig
+
+ The type
+ Inputer after modifiers and pinned signature
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Gets the next field or null
+
+ this
+
+
+
+
+ Gets the value or false if
+ is null
+
+ this
+
+
+
+
+ Gets the value or false if
+ is null
+
+ this
+
+
+
+
+ Gets the element type
+
+ this
+ The element type
+
+
+
+ Gets the full name of the type
+
+ this
+ Full name of the type
+
+
+
+ Gets the name of the type
+
+ this
+ Name of the type
+
+
+
+ Gets the namespace of the type
+
+ this
+ Namespace of the type
+
+
+
+ Returns the if it is a .
+
+ this
+ A or null if none found
+
+
+
+ Returns the if it is a .
+
+ this
+ A or null if none found
+
+
+
+ Returns the if it is a .
+ Nothing is resolved.
+
+ this
+ A or null if none found
+
+
+
+ Returns the if it is a .
+
+ this
+ A or null if none found
+
+
+
+ Flags used by
+
+
+
+
+ Compare assembly simple name
+
+
+
+
+ Compare assembly version
+
+
+
+
+ Compare assembly public key token
+
+
+
+
+ Compare assembly culture
+
+
+
+
+ Compare content type
+
+
+
+
+ Compare assembly simple name, version, public key token, locale and content type
+
+
+
+
+ Compares two assembly names
+
+
+
+
+ Compares the name, version, public key token, culture and content type
+
+
+
+
+ Compares only the name and the public key token
+
+
+
+
+ Compares only the name
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Constructor
+
+ Comparison flags
+
+
+
+ Compares two assembly names
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two assembly names
+
+ First
+ Second
+ true if equal, false otherwise
+
+
+
+ Figures out which of two assembly names is closer to another assembly name
+
+ Requested assembly name
+ First
+ Second
+ -1 if both are equally close, 0 if is closest, 1 if
+ is closest
+
+
+
+ Gets the hash code of an assembly name
+
+ Assembly name
+ The hash code
+
+
+
+ Stores assembly name information
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the or null if none specified
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the public key or token
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the culture or null if none specified
+
+
+
+
+ Gets the full name of the assembly
+
+
+
+
+ Gets the full name of the assembly but use a public key token
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ An assembly name
+
+
+
+ Constructor
+
+ The assembly
+
+
+
+ Constructor
+
+ Assembly name info
+
+
+
+
+
+
+ A high-level representation of a row in the AssemblyRef table
+
+
+
+
+ An assembly ref that can be used to indicate that it references the current assembly
+ when the current assembly is not known (eg. a type string without any assembly info
+ when it references a type in the current assembly).
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From columns AssemblyRef.MajorVersion, AssemblyRef.MinorVersion,
+ AssemblyRef.BuildNumber, AssemblyRef.RevisionNumber
+
+ If is null
+
+
+
+
+
+
+ From column AssemblyRef.Flags
+
+
+
+ Attributes
+
+
+
+ From column AssemblyRef.PublicKeyOrToken
+
+ If is null
+
+
+
+
+
+
+ From column AssemblyRef.Name
+
+
+
+ Name
+
+
+
+ From column AssemblyRef.Locale
+
+
+
+ Culture
+
+
+
+ From column AssemblyRef.HashValue
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ Same as , except that it uses the PublicKey if available.
+
+
+
+
+ Gets the full name of the assembly but use a public key token
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+
+
+
+ An AssemblyRef row created by the user and not present in the original .NET file
+
+
+
+
+ Creates a reference to CLR 1.0's mscorlib
+
+
+
+
+ Creates a reference to CLR 1.1's mscorlib
+
+
+
+
+ Creates a reference to CLR 2.0's mscorlib
+
+
+
+
+ Creates a reference to CLR 4.0's mscorlib
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Simple name
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key or public key token
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key or public key token
+ Locale
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Assembly name info
+ If is null
+
+
+
+ Constructor
+
+ Assembly
+
+
+
+ Created from a row in the AssemblyRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this AssemblyRef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Resolves assemblies
+
+
+
+
+ Gets/sets the default
+
+
+
+
+ true if should find an assembly that matches exactly.
+ false if it first tries to match exactly, and if that fails, it picks an
+ assembly that is closest to the requested assembly.
+
+
+
+
+ true if resolved .NET framework assemblies can be redirected to the source
+ module's framework assembly version. Eg. if a resolved .NET 3.5 assembly can be
+ redirected to a .NET 4.0 assembly if the source module is a .NET 4.0 assembly. This is
+ ignored if is true.
+
+
+
+
+ If true, all modules in newly resolved assemblies will have their
+ property set to true. This is
+ enabled by default since these modules shouldn't be modified by the user.
+
+
+
+
+ true to search the Global Assembly Cache. Default value is true.
+
+
+
+
+ Gets paths searched before trying the standard locations
+
+
+
+
+ Gets paths searched after trying the standard locations
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Module context for all resolved assemblies
+
+
+
+
+
+
+ Add a module's assembly to the assembly cache
+
+ The module whose assembly should be cached
+ true if 's assembly is cached, false
+ if it's not cached because some other assembly with the exact same full name has
+ already been cached or if or its assembly is null.
+
+
+
+ Add an assembly to the assembly cache
+
+ The assembly
+ true if is cached, false if it's not
+ cached because some other assembly with the exact same full name has already been
+ cached or if is null.
+
+
+
+ Removes a module's assembly from the cache
+
+ The module
+ true if its assembly was removed, false if it wasn't removed
+ since it wasn't in the cache, it has no assembly, or was
+ null
+
+
+
+ Removes the assembly from the cache
+
+ The assembly
+ true if it was removed, false if it wasn't removed since it
+ wasn't in the cache or if was null
+
+
+
+ Clears the cache and calls on each cached module.
+ Use to remove any assemblies you added yourself
+ using before calling this method if you don't want
+ them disposed.
+
+
+
+
+ Gets the cached assemblies in this resolver.
+
+ The cached assemblies.
+
+
+
+ Finds an assembly that exactly matches the requested assembly
+
+ Assembly to find
+ Search paths or null if none
+ Module context
+ An instance or null if an exact match
+ couldn't be found.
+
+
+
+ Finds the closest assembly from the already cached assemblies
+
+ Assembly to find
+ The closest or null if none found
+
+
+
+ Returns true if is inserted in
+
+ Assembly to check
+
+
+
+ Called before
+
+ Assembly to find
+ The module that needs to resolve an assembly or null
+ We're trying to find an exact match
+ null or an enumerable of full paths to try
+
+
+
+ Called after (if it fails)
+
+ Assembly to find
+ The module that needs to resolve an assembly or null
+ We're trying to find an exact match
+ null or an enumerable of full paths to try
+
+
+
+ Called after (if it fails)
+
+ Assembly to find
+ The module that needs to resolve an assembly or null
+ We're trying to find an exact match
+ null or an enumerable of full paths to try
+
+
+
+ Gets all search paths to use for this module
+
+ The module or null if unknown
+ A list of all search paths to use for this module
+
+
+
+ Gets all module search paths. This is usually empty unless its assembly has
+ a .config file specifying any additional private search paths in a
+ <probing/> element.
+
+ The module or null if unknown
+ A list of search paths
+
+
+
+ Gets all private assembly search paths as found in the module's .config file.
+
+ The module or null if unknown
+ A list of search paths
+
+
+
+ See CorHdr.h/CorCallingConvention
+
+
+
+ The managed calling convention
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ generic method instantiation
+
+
+ used ONLY for 64bit vararg PInvoke calls
+
+
+ Calling convention is bottom 4 bits
+
+
+ Generic method
+
+
+ Method needs a 'this' parameter
+
+
+ 'this' parameter is the first arg if set (else it's hidden)
+
+
+ Used internally by the CLR
+
+
+
+ Base class for sigs with a calling convention
+
+
+
+
+ The calling convention
+
+
+
+
+ Gets/sets the extra data found after the signature
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if there's an implicit this parameter
+
+
+
+
+ true if this contains a
+ or a .
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The calling convention
+
+
+
+ Gets the calling convention
+
+
+
+
+ A field signature
+
+
+
+
+ Gets/sets the field type
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Field type
+
+
+
+ Constructor
+
+ Field type
+ The calling convention (must have Field set)
+
+
+
+ Clone this
+
+
+
+
+
+
+
+ Method sig base class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the calling convention
+
+
+
+
+ Gets/sets the return type
+
+
+
+
+ Gets the parameters. This is never null
+
+
+
+
+ Gets/sets the generic param count
+
+
+
+
+ Gets the parameters that are present after the sentinel. Note that this is null
+ if there's no sentinel. It can still be empty even if it's not null.
+
+
+
+
+ A method signature
+
+
+
+
+ Gets/sets the original token. It's set when reading calli instruction operands
+ and it's a hint to the module writer if it tries to re-use the same token.
+
+
+
+
+ Creates a static MethodSig
+
+ Return type
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Argument types
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Argument types
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Arg type #1
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+ Parameters after sentinel
+
+
+
+ Clone this
+
+
+
+
+
+
+
+ A property signature
+
+
+
+
+ Creates a static PropertySig
+
+ Return type
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Argument types
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Argument types
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention (must have Property set)
+
+
+
+ Constructor
+
+ true if instance, false if static
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Arg type #1
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Argument types
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+ Parameters after sentinel
+
+
+
+ Clone this
+
+
+
+
+
+
+
+ A local variables signature
+
+
+
+
+ All local types. This is never null.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention (must have LocalSig set)
+ Number of locals
+
+
+
+ Constructor
+
+ Local type #1
+
+
+
+ Constructor
+
+ Local type #1
+ Local type #2
+
+
+
+ Constructor
+
+ Local type #1
+ Local type #2
+ Local type #3
+
+
+
+ Constructor
+
+ All locals
+
+
+
+ Constructor
+
+ All locals
+
+
+
+ Constructor
+
+ All locals (this instance now owns it)
+ Dummy
+
+
+
+ Clone this
+
+
+
+
+ An instantiated generic method signature
+
+
+
+
+ Gets the generic arguments (must be instantiated types, i.e., closed types)
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention (must have GenericInst set)
+ Number of generic args
+
+
+
+ Constructor
+
+ Generic arg #1
+
+
+
+ Constructor
+
+ Generic arg #1
+ Generic arg #2
+
+
+
+ Constructor
+
+ Generic arg #1
+ Generic arg #2
+ Generic arg #3
+
+
+
+ Constructor
+
+ Generic args
+
+
+
+ Constructor
+
+ Generic args
+
+
+
+ Clone this
+
+
+
+
+ A high-level representation of a row in the ClassLayout table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+ From column ClassLayout.PackingSize
+
+
+
+
+
+
+
+ From column ClassLayout.ClassSize
+
+
+
+
+
+
+
+ A ClassLayout row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ PackingSize
+ ClassSize
+
+
+
+ Created from a row in the ClassLayout table
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ClassLayout row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ A high-level representation of a row in the Constant table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+ From column Constant.Type
+
+
+
+
+
+
+
+ From column Constant.Value
+
+
+
+
+
+
+
+ A Constant row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Value
+
+
+
+ Constructor
+
+ Value
+ Type
+
+
+
+ Created from a row in the Constant table
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Constant row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Default implementation of
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The owner module
+
+
+
+ Constructor
+
+ The owner module
+ Corlib assembly reference or null if a default
+ assembly reference should be created
+
+
+
+
+
+
+ Gets the required alignment for the stubs, must be a power of 2
+
+ Stub type
+
+
+
+
+ Gets the size of a stub, it doesn't have to be a multiple of
+
+ Stub type
+
+
+
+
+ Gets the offset of the code (entry point) relative to the start of the stub
+
+ Stub type
+
+
+
+
+ Gets the RVA of the func field that the stub jumps to
+
+ Reader, positioned at the stub func
+ PE image
+ Updated with RVA of func field
+
+
+
+
+ Writes stub relocs, if needed
+
+ Stub type
+ Reloc directory
+ The chunk where this stub will be written to
+ Offset of this stub in
+
+
+
+ Writes the stub that jumps to the managed function
+
+ Stub type
+ Writer
+ Image base
+ RVA of this stub
+ RVA of a pointer-sized field that contains the absolute address of the managed function
+
+
+
+ A custom attribute
+
+
+
+
+ Gets/sets the custom attribute constructor
+
+
+
+
+ Gets the attribute type
+
+
+
+
+ Gets the full name of the attribute type
+
+
+
+
+ true if the raw custom attribute blob hasn't been parsed
+
+
+
+
+ Gets the raw custom attribute blob or null if the CA was successfully parsed.
+
+
+
+
+ Gets all constructor arguments
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all named arguments (field and property values)
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all s that are field arguments
+
+
+
+
+ Gets all s that are property arguments
+
+
+
+
+ Gets the #Blob offset or 0 if unknown
+
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Raw custom attribute blob
+
+
+
+ Constructor
+
+ Custom attribute constructor
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments or null if none
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Named arguments or null if none
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments or null if none
+ Named arguments or null if none
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments or null if none
+ Named arguments or null if none
+ Original custom attribute #Blob offset or 0
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments. The list is now owned by this instance.
+ Named arguments. The list is now owned by this instance.
+ Original custom attribute #Blob offset or 0
+
+
+
+ Gets the field named
+
+ Name of field
+ A instance or null if not found
+
+
+
+ Gets the field named
+
+ Name of field
+ A instance or null if not found
+
+
+
+ Gets the property named
+
+ Name of property
+ A instance or null if not found
+
+
+
+ Gets the property named
+
+ Name of property
+ A instance or null if not found
+
+
+
+ Gets the property/field named
+
+ Name of property/field
+ true if it's a field, false if it's a property
+ A instance or null if not found
+
+
+
+ Gets the property/field named
+
+ Name of property/field
+ true if it's a field, false if it's a property
+ A instance or null if not found
+
+
+
+
+
+
+ A custom attribute constructor argument
+
+
+
+
+ Gets/sets the argument type
+
+
+
+
+ Gets/sets the argument value
+
+
+
+
+ Constructor
+
+ Argument type
+
+
+
+ Constructor
+
+ Argument type
+ Argument value
+
+
+
+ Clones this instance and any s and s
+ referenced from this instance.
+
+
+
+
+
+
+
+
+ A custom attribute field/property argument
+
+
+
+
+ true if it's a field
+
+
+
+
+ true if it's a property
+
+
+
+
+ Gets/sets the field/property type
+
+
+
+
+ Gets/sets the property/field name
+
+
+
+
+ Gets/sets the argument
+
+
+
+
+ Gets/sets the argument type
+
+
+
+
+ Gets/sets the argument value
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ true if field, false if property
+
+
+
+ Constructor
+
+ true if field, false if property
+ Field/property type
+
+
+
+ Constructor
+
+ true if field, false if property
+ Field/property type
+ Name of field/property
+
+
+
+ Constructor
+
+ true if field, false if property
+ Field/property type
+ Name of field/property
+ Field/property argument
+
+
+
+ Clones this instance and any s referenced from this instance.
+
+
+
+
+
+
+
+
+ Stores s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Initial length of the list
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ Checks whether a custom attribute is present
+
+ Full name of custom attribute type
+ true if the custom attribute type is present, false otherwise
+
+
+
+ Removes all custom attributes of a certain type
+
+ Full name of custom attribute type that should be removed
+
+
+
+ Finds a custom attribute
+
+ Full name of custom attribute type
+ A or null if it wasn't found
+
+
+
+ Finds all custom attributes of a certain type
+
+ Full name of custom attribute type
+ All s of the requested type
+
+
+
+ Finds a custom attribute
+
+ Custom attribute type
+ The first found or null if none found
+
+
+
+ Finds a custom attribute
+
+ Custom attribute type
+ Attribute type comparison flags
+ The first found or null if none found
+
+
+
+ Finds all custom attributes of a certain type
+
+ Custom attribute type
+ All s of the requested type
+
+
+
+ Finds all custom attributes of a certain type
+
+ Custom attribute type
+ Attribute type comparison flags
+ All s of the requested type
+
+
+
+ Searches for a type according to custom attribute search rules: first try the
+ current assembly, and if that fails, try mscorlib
+
+
+
+
+ Constructor
+
+ The module to search first
+
+
+
+
+
+
+ Thrown by CustomAttributeReader when it fails to parse a custom attribute blob
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ Other exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ Reads custom attributes from the #Blob stream
+
+
+
+
+ Reads a custom attribute
+
+ Reader module
+ Custom attribute constructor
+ Offset of custom attribute in the #Blob stream
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Reader module
+ Custom attribute constructor
+ Offset of custom attribute in the #Blob stream
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ CA blob
+ Custom attribute constructor
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ A reader positioned at the the first byte of the CA blob
+ Custom attribute constructor
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ CA blob
+ Custom attribute constructor
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ A stream positioned at the the first byte of the CA blob
+ Custom attribute constructor
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ A stream positioned at the the first byte of the CA blob
+ Custom attribute constructor
+ Generic parameter context
+ A new instance
+
+
+
+ Reads custom attribute named arguments
+
+ Owner module
+ A reader positioned at the the first byte of the CA blob
+ Number of named arguments to read from
+ Generic parameter context
+ A list of s or null if some error
+ occurred.
+
+
+
+ Gets the enum's underlying type
+
+ An enum type
+ The underlying type or null if we couldn't resolve the type ref
+ If is not an enum or null
+
+
+
+ Converts to a , possibly resolving
+ a
+
+ The type
+ A or null if we couldn't resolve the
+ or if is a type spec
+
+
+
+ A high-level representation of a row in the DeclSecurity table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column DeclSecurity.Action
+
+
+
+
+
+
+
+ From column DeclSecurity.PermissionSet
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the blob data or null if there's none
+
+ Blob data or null
+
+
+
+ Returns the .NET 1.x XML string or null if it's not a .NET 1.x format
+
+
+
+
+
+ A DeclSecurity row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The security action
+ The security attributes (now owned by this)
+
+
+
+
+
+
+ Created from a row in the DeclSecurity table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this DeclSecurity row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ Reads DeclSecurity blobs
+
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ #Blob offset of DeclSecurity signature
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ #Blob offset of DeclSecurity signature
+ Generic parameter context
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity blob
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity blob
+ Generic parameter context///
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity stream that will be owned by us
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity stream that will be owned by us
+ Generic parameter context
+ A list of s
+
+
+
+ Reads the new (.NET 2.0+) DeclSecurity blob format
+
+
+
+
+
+ Reads the old (.NET 1.x) DeclSecurity blob format
+
+
+
+
+
+ See CorHdr.h/CorElementType
+
+
+
+
+
+
+ System.Void
+
+
+ System.Boolean
+
+
+ System.Char
+
+
+ System.SByte
+
+
+ System.Byte
+
+
+ System.Int16
+
+
+ System.UInt16
+
+
+ System.Int32
+
+
+ System.UInt32
+
+
+ System.Int64
+
+
+ System.UInt64
+
+
+ System.Single
+
+
+ System.Double
+
+
+ System.String
+
+
+ Pointer type (*)
+
+
+ ByRef type (&)
+
+
+ Value type
+
+
+ Reference type
+
+
+ Type generic parameter
+
+
+ Multidimensional array ([*], [,], [,,], ...)
+
+
+ Generic instance type
+
+
+ Typed byref
+
+
+ Value array (don't use)
+
+
+ System.IntPtr
+
+
+ System.UIntPtr
+
+
+ native real (don't use)
+
+
+ Function pointer
+
+
+ System.Object
+
+
+ Single-dimension, zero lower bound array ([])
+
+
+ Method generic parameter
+
+
+ Required C modifier
+
+
+ Optional C modifier
+
+
+ Used internally by the CLR (don't use)
+
+
+ Module (don't use)
+
+
+ Sentinel (method sigs only)
+
+
+ Pinned type (locals only)
+
+
+
+ A CIL opcode. If the high byte is 0 or if it's , it's a 1-byte opcode,
+ else it's a two-byte opcode and the highest byte is the first byte of the opcode.
+
+
+
+
+ Extension methods
+
+
+
+
+ Converts a to an
+
+ The code
+ A or null if it's invalid
+
+
+
+ Gets the opcode or if is null
+
+ this
+
+
+
+
+ Gets the operand or null if is null
+
+ this
+
+
+
+
+ Gets the offset or 0 if is null
+
+ this
+
+
+
+
+ Gets the sequence point or null if is null
+
+ this
+
+
+
+
+ Resolves a token
+
+ An object
+ The metadata token
+ A or null if is invalid
+
+
+
+ options
+
+
+
+
+ No option is enabled
+
+
+
+
+ Some fields/methods have an unknown declaring type and don't have a context with
+ that information. If this is enabled, the reader will try to guess it but it doesn't
+ always work. If you get an , try enabling this option.
+
+
+
+
+ Reads code from a DynamicMethod
+
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+ Generic parameter context
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+ Importer
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+ Importer
+ Options
+
+
+
+ Reads the code
+
+
+
+
+
+ Returns the created method. Must be called after .
+
+ A new instance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A CIL method exception handler
+
+
+
+
+ First instruction of try block
+
+
+
+
+ One instruction past the end of try block or null if it ends at the end
+ of the method.
+
+
+
+
+ Start of filter handler or null if none. The end of filter handler is
+ always .
+
+
+
+
+ First instruction of try handler block
+
+
+
+
+ One instruction past the end of try handler block or null if it ends at the end
+ of the method.
+
+
+
+
+ The catch type if is
+
+
+
+
+ Type of exception handler clause
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception clause type
+
+
+
+ Type of exception handler. See CorHdr.h/CorExceptionFlag
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CIL opcode flow control
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A CIL instruction (opcode + operand)
+
+
+
+
+ The opcode
+
+
+
+
+ The opcode operand
+
+
+
+
+ Offset of the instruction in the method body
+
+
+
+
+ PDB sequence point or null if none
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Opcode
+
+
+
+ Constructor
+
+ Opcode
+ The operand
+
+
+
+ Creates a new instruction with no operand
+
+ The opcode
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with an operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a string operand
+
+ The opcode
+ The string
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target operand
+
+ The opcode
+ Target instruction
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target list operand
+
+ The opcode
+ The targets
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The opcode
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The opcode
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a method/field operand
+
+ The opcode
+ The method/field
+ A new instance
+
+
+
+ Creates a new instruction with a field operand
+
+ The opcode
+ The field
+ A new instance
+
+
+
+ Creates a new instruction with a method operand
+
+ The opcode
+ The method
+ A new instance
+
+
+
+ Creates a new instruction with a token operand
+
+ The opcode
+ The token
+ A new instance
+
+
+
+ Creates a new instruction with a method signature operand
+
+ The opcode
+ The method signature
+ A new instance
+
+
+
+ Creates a new instruction with a method parameter operand
+
+ The opcode
+ The method parameter
+ A new instance
+
+
+
+ Creates a new instruction with a method local operand
+
+ The opcode
+ The method local
+ A new instance
+
+
+
+ Creates a ldci4 instruction
+
+ Operand value
+ A new instance
+
+
+
+ Gets the size in bytes of the instruction
+
+
+
+
+
+ Updates with the new stack size
+
+ Current stack size
+
+
+
+ Updates with the new stack size
+
+ Current stack size
+ true if the method has a return value,
+ false otherwise
+
+
+
+ Calculates stack usage
+
+ Updated with number of stack pushes
+ Updated with number of stack pops or -1 if the stack should
+ be cleared.
+
+
+
+ Calculates stack usage
+
+ true if method has a return value
+ Updated with number of stack pushes
+ Updated with number of stack pops or -1 if the stack should
+ be cleared.
+
+
+
+ Checks whether it's one of the leave instructions
+
+
+
+
+ Checks whether it's one of the br instructions
+
+
+
+
+ Checks whether it's one of the brfalse instructions
+
+
+
+
+ Checks whether it's one of the brtrue instructions
+
+
+
+
+ Checks whether it's one of the conditional branch instructions (bcc, brtrue, brfalse)
+
+
+
+
+ Checks whether this is one of the ldc.i4 instructions
+
+
+
+
+ Returns a ldc.i4 instruction's operand
+
+ The integer value
+ isn't one of the
+ ldc.i4 opcodes
+
+
+
+ Checks whether it's one of the ldarg instructions, but does not check
+ whether it's one of the ldarga instructions.
+
+
+
+
+ Checks whether it's one of the ldloc instructions, but does not check
+ whether it's one of the ldloca instructions.
+
+
+
+
+ Checks whether it's one of the starg instructions
+
+
+
+
+ Checks whether it's one of the stloc instructions
+
+
+
+
+ Returns the local if it's a ldloc, stloc or ldloca instruction
+
+ The locals
+ The local or null if it's not a ldloc, stloc or ldloca
+ instruction or if the local doesn't exist.
+
+
+
+ Gets the index of the instruction's parameter operand or -1 if the parameter
+ is missing or if it's not an instruction with a parameter operand.
+
+
+
+
+ Returns a method parameter
+
+ All parameters
+ A parameter or null if it doesn't exist
+
+
+
+ Returns an argument type
+
+ Method signature
+ Declaring type (only needed if it's an instance method)
+ The type or null if it doesn't exist
+
+
+
+ Clone this instance. The and fields
+ are shared by this instance and the created instance.
+
+
+
+
+
+
+
+ Converts instructions to strings
+
+
+
+
+ Converts an instruction to a string
+
+ The instruction
+ The result
+
+
+
+ Gets the instruction's operand as a string
+
+ The instruction
+ The operand as a string
+
+
+
+ Add an instruction's operand to
+
+ Place result here
+ The instruction
+
+
+
+ Add an instruction's operand to
+
+ Place result here
+ The instruction
+ A string that will be added before the operand, if there's
+ an operand.
+
+
+
+ Thrown when invalid data is detected while parsing a .NET method
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ The inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ A collection of s
+
+
+
+
+ Gets the number of locals
+
+
+
+
+ Gets the list of locals
+
+
+
+
+ Gets the N'th local
+
+ The local index
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ All locals that will be owned by this instance
+
+
+
+ Adds a new local and then returns it
+
+ The local that should be added to the list
+ The input is always returned
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A method local
+
+
+
+
+ Gets/sets the type of the local
+
+
+
+
+ Local index
+
+
+
+
+ Gets the name. This property is obsolete, use to get/set the name stored in the PDB file.
+
+
+
+
+ Gets the attributes. This property is obsolete, use to get/set the attributes stored in the PDB file.
+
+
+
+
+ Constructor
+
+ The type
+
+
+
+ Constructor
+
+ The type
+ Name of local
+
+
+
+ Constructor
+
+ The type
+ Name of local
+ Index, should only be used if you don't add it to the locals list
+
+
+
+
+
+
+ Method body base class
+
+
+
+
+ A native method body
+
+
+
+
+ Gets/sets the RVA of the native method body
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ RVA of method body
+
+
+
+ CIL (managed code) body
+
+
+
+
+ Size of a small header
+
+
+
+
+ Gets/sets a flag indicating whether the original max stack value should be used.
+
+
+
+
+ Gets/sets the init locals flag. This is only valid if the method has any locals.
+
+
+
+
+ Gets/sets the size in bytes of the method body header. The instructions immediately follow
+ the header.
+
+
+
+
+ true if it was a small body header ( is 1)
+
+
+
+
+ true if it was a big body header
+
+
+
+
+ Gets/sets max stack value from the fat method header.
+
+
+
+
+ Gets/sets the locals metadata token
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the instructions
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the exception handlers
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the locals
+
+
+
+
+ Gets/sets the PDB method. This is null if no PDB has been loaded or if there's
+ no PDB info for this method.
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the total size of the body in the PE file, including header, IL bytes, and exception handlers.
+ This property returns 0 if the size is unknown.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Init locals flag
+ All instructions. This instance will own the list.
+ All exception handlers. This instance will own the list.
+ All locals. This instance will own the locals in the list.
+
+
+
+ Shorter instructions are converted to the longer form, eg. Ldc_I4_1 is
+ converted to Ldc_I4 with a 1 as the operand.
+
+ All method parameters, including the hidden 'this' parameter
+ if it's an instance method. Use .
+
+
+
+ Optimizes instructions by using the shorter form if possible. Eg. Ldc_I4 1
+ will be replaced with Ldc_I4_1.
+
+
+
+
+ Short branch instructions are converted to the long form, eg. Beq_S is
+ converted to Beq.
+
+
+
+
+ Optimizes branches by using the smallest possible branch
+
+
+
+
+ Updates each instruction's offset
+
+ Total size in bytes of all instructions
+
+
+
+ Reads strings from #US heap
+
+
+
+
+ Reads a string from the #US heap
+
+ String token
+ A string
+
+
+
+ Resolves instruction operands
+
+
+
+
+ Reads a .NET method body (header, locals, instructions, exception handlers)
+
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+ Method header flags, eg. 2 if tiny method
+ Max stack
+ Code size
+ Local variable signature token or 0 if none
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+ Method header flags, eg. 2 if tiny method
+ Max stack
+ Code size
+ Local variable signature token or 0 if none
+ Generic parameter context
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+ Generic parameter context
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+ Generic parameter context
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+ Generic parameter context
+
+
+
+ Initializes the method header
+
+ Header flags, eg. 2 if it's a tiny method
+ Max stack
+ Code size
+ Local variable signature token
+
+
+
+ Reads the method body header, locals, all instructions, and the exception handlers (if any)
+
+ true if it worked, and false if something failed
+
+
+
+ Reads the method header
+
+
+
+
+ Reads the locals
+
+ All locals or null if there are none
+
+
+
+ Reads all instructions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reads all exception handlers
+
+
+
+
+ Creates a CIL body. Must be called after , and can only be
+ called once.
+
+ A new instance
+
+
+
+ Method body reader base class
+
+
+
+ The method reader
+
+
+ All parameters
+
+
+ All locals
+
+
+ All instructions
+
+
+ All exception handlers
+
+
+ First byte after the end of the code
+
+
+ Start offset of method
+
+
+
+ Gets all parameters
+
+
+
+
+ Gets all locals
+
+
+
+
+ Gets all instructions
+
+
+
+
+ Gets all exception handlers
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ The reader
+
+
+
+ Constructor
+
+ The reader
+ Method parameters or null if they're not known yet
+
+
+
+ Sets new locals
+
+ A list of types of all locals or null if none
+
+
+
+ Sets new locals
+
+ A list of types of all locals or null if none
+
+
+
+ Reads all instructions
+
+ Number of instructions to read
+
+
+
+ Reads all instructions
+
+ Size of code
+
+
+
+ Fixes all branch instructions so their operands are set to an
+ instead of an offset.
+
+
+
+
+ Finds an instruction
+
+ Offset of instruction
+ The instruction or null if there's no instruction at .
+
+
+
+ Finds an instruction and throws if it's not present
+
+ Offset of instruction
+ The instruction
+ There's no instruction at
+
+
+
+
+ Reads the next instruction
+
+
+
+
+ Reads the next OpCode from the current position
+
+
+
+
+ Reads the instruction operand (if any)
+
+ The instruction
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a parameter) operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a local) operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a parameter) operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a local) operand
+
+ The current instruction
+ The operand
+
+
+
+ Returns true if it's one of the ldarg/starg instructions that have an operand
+
+ The instruction to check
+
+
+
+ Returns a parameter
+
+ A parameter index
+ A or null if is invalid
+
+
+
+ Returns a local
+
+ A local index
+ A or null if is invalid
+
+
+
+ Add an exception handler if it appears valid
+
+ The exception handler
+ true if it was added, false otherwise
+
+
+
+ Gets the offset of an instruction
+
+ The instruction or null if the offset is the first offset
+ at the end of the method.
+ The instruction offset
+
+
+
+ Restores a 's body with the parsed method instructions
+ and exception handlers
+
+ The method that gets updated with the instructions, locals, and
+ exception handlers.
+
+
+
+ Converts a type address to a . The address can be found in
+ RuntimeTypeHandle.Value and it's the same address you use with the WinDbg SOS command
+ !dumpmt.
+
+
+
+
+ Converts to a .
+
+ Address of type
+ The or null
+
+
+
+ Instruction utility methods
+
+
+
+
+ Shorter instructions are converted to the longer form, eg. Ldc_I4_1 is
+ converted to Ldc_I4 with a 1 as the operand.
+
+ All instructions
+ All locals
+ All method parameters, including the hidden 'this' parameter
+ if it's an instance method. Use .
+
+
+
+ Optimizes instructions by using the shorter form if possible. Eg. Ldc_I4 1
+ will be replaced with Ldc_I4_1.
+
+ All instructions
+
+
+
+ Short branch instructions are converted to the long form, eg. Beq_S is
+ converted to Beq.
+
+ All instructions
+
+
+
+ Optimizes branches by using the smallest possible branch
+
+ All instructions
+
+
+
+ Updates each instruction's offset
+
+ All instructions
+ Total size in bytes of all instructions
+
+
+
+ A CIL opcode
+
+
+
+
+ The opcode name
+
+
+
+
+ The opcode as a enum
+
+
+
+
+ Operand type
+
+
+
+
+ Flow control info
+
+
+
+
+ Opcode type
+
+
+
+
+ Push stack behavior
+
+
+
+
+ Pop stack behavior
+
+
+
+
+ Gets the value which is compatible with
+
+
+
+
+ Gets the size of the opcode. It's either 1 or 2 bytes.
+
+
+
+
+ Creates a new instruction with no operand
+
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with an operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a string operand
+
+ The string
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target operand
+
+ Target instruction
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target list operand
+
+ The targets
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a method/field operand
+
+ The method/field
+ A new instance
+
+
+
+ Creates a new instruction with a field operand
+
+ The field
+ A new instance
+
+
+
+ Creates a new instruction with a method operand
+
+ The method
+ A new instance
+
+
+
+ Creates a new instruction with a token operand
+
+ The token
+ A new instance
+
+
+
+ Creates a new instruction with a method signature operand
+
+ The method signature
+ A new instance
+
+
+
+ Creates a new instruction with a method parameter operand
+
+ The method parameter
+ A new instance
+
+
+
+ Creates a new instruction with a method local operand
+
+ The method local
+ A new instance
+
+
+
+
+
+
+ Contains all valid CIL opcodes
+
+
+
+
+ All one-byte opcodes
+
+
+
+
+ All two-byte opcodes (first byte is 0xFE)
+
+
+
+
+ CIL opcode type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CIL opcode operand type
+
+
+
+ 4-byte relative instruction offset
+
+
+ 4-byte field token ( or )
+
+
+ int32
+
+
+ int64
+
+
+ 4-byte method token (,
+ or )
+
+
+ No operand
+
+
+ Never used
+
+
+ 64-bit real
+
+
+
+
+
+ 4-byte method sig token ()
+
+
+ 4-byte string token (0x70xxxxxx)
+
+
+ 4-byte count N followed by N 4-byte relative instruction offsets
+
+
+ 4-byte token (, ,
+ , , ,
+ or )
+
+
+ 4-byte type token (, or
+ )
+
+
+ 2-byte param/local index
+
+
+ 1-byte relative instruction offset
+
+
+ 1-byte sbyte () or byte (the rest)
+
+
+ 32-bit real
+
+
+ 1-byte param/local index
+
+
+
+ CIL opcode stack behavior
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Event attributes, see CorHdr.h/CorEventAttr
+
+
+
+ event is special. Name describes how.
+
+
+ Runtime(metadata internal APIs) should check name encoding.
+
+
+
+ A high-level representation of a row in the Event table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Event.EventFlags
+
+
+
+
+
+
+
+ From column Event.Name
+
+
+
+ Name
+
+
+
+ From column Event.EventType
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the adder method
+
+
+
+
+ Gets/sets the invoker method
+
+
+
+
+ Gets/sets the remover method
+
+
+
+
+ Gets the other methods
+
+
+
+
+ Initializes , ,
+ and .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reset , , ,
+
+
+
+ true if there are no methods attached to this event
+
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+
+ Gets the full name of the event
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+ An Event row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Type
+
+
+
+ Constructor
+
+ Name
+ Type
+ Flags
+
+
+
+ Created from a row in the Event table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Event row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ A high-level representation of a row in the ExportedType table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always returns false since a does not contain any
+ or .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column ExportedType.Flags
+
+
+
+ Attributes
+
+
+
+ From column ExportedType.TypeDefId
+
+
+
+
+
+
+
+ From column ExportedType.TypeName
+
+
+
+
+
+
+
+ From column ExportedType.TypeNamespace
+
+
+
+
+
+
+
+ From column ExportedType.Implementation
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ true if it's nested within another
+
+
+
+
+ Gets the declaring type, if any
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the layout
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the string format
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit. See also
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if this type has been moved to another assembly
+
+
+
+
+ Resolves the type
+
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ Source module or null
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Converts this instance to a
+
+ A new instance
+
+
+
+
+
+
+ An ExportedType row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Constructor
+
+ Owner module
+ TypeDef ID
+ Type name
+ Type namespace
+ Flags
+ Implementation
+
+
+
+ Created from a row in the ExportedType table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ExportedType row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Field flags, see CorHdr.h/CorFieldAttr
+
+
+
+ member access mask - Use this mask to retrieve accessibility information.
+
+
+ Member not referenceable.
+
+
+ Member not referenceable.
+
+
+ Accessible only by the parent type.
+
+
+ Accessible by sub-types only in this Assembly.
+
+
+ Accessibly by anyone in the Assembly.
+
+
+ Accessible only by type and sub-types.
+
+
+ Accessibly by sub-types anywhere, plus anyone in assembly.
+
+
+ Accessibly by anyone who has visibility to this scope.
+
+
+ Defined on type, else per instance.
+
+
+ Field may only be initialized, not written to after init.
+
+
+ Value is compile time constant.
+
+
+ Field does not have to be serialized when type is remoted.
+
+
+ field is special. Name describes how.
+
+
+ Implementation is forwarded through pinvoke.
+
+
+ Runtime(metadata internal APIs) should check name encoding.
+
+
+ Field has marshalling information.
+
+
+ Field has default.
+
+
+ Field has RVA.
+
+
+
+ A high-level representation of a row in the Field table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ From column Field.Flags
+
+
+
+ Attributes
+
+
+
+ From column Field.Name
+
+
+
+ Name
+
+
+
+ From column Field.Signature
+
+
+
+
+
+
+
+ Gets/sets the field layout offset
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets/sets the field RVA
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets/sets the initial value. Be sure to set to true if
+ you write to this field.
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+
+
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+ Gets/sets the
+
+
+
+
+
+
+
+ true if is not null
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the constant element type or if there's no constant
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets/sets the field type
+
+
+
+
+ Modify field: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the field access
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Returns the full name of this field
+
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+ Updated with size
+ true if is valid, false otherwise
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+ The declaring type of this
+ The field signature of this
+ Updated with size
+ true if is valid, false otherwise
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+ The declaring type of this
+ The field signature of this
+ Size of a pointer
+ Updated with size
+ true if is valid, false otherwise
+
+
+
+
+
+
+ A Field row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Signature
+
+
+
+ Constructor
+
+ Name
+ Signature
+ Flags
+
+
+
+ Created from a row in the Field table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Field row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ File row flags. See CorHdr.h/CorFileFlags
+
+
+
+ This is not a resource file
+
+
+ This is a resource file or other non-metadata-containing file
+
+
+
+ A high-level representation of a row in the File table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column File.Flags
+
+
+
+ Attributes
+
+
+
+ From column File.Name
+
+
+
+ Name
+
+
+
+ From column File.HashValue
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+
+
+
+ A File row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name of file
+ Flags
+ File hash
+
+
+
+ Created from a row in the File table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this File row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Redirects .NET framework assembly references from older to newer versions
+
+
+
+
+ Redirects a .NET Framework assembly from an older version to the correct version
+ loaded at runtime.
+
+ Current assembly reference that might get updated
+ Module using the assembly reference
+
+
+
+ Tries to redirect a .NET Framework assembly from an older version to the correct version
+ loaded at runtime.
+
+ Assembly reference
+ Module using the assembly reference
+ Updated with the redirected assembly if successful
+
+
+
+
+ Redirects a .NET Framework 2.0-3.5 assembly from an older version to the correct version
+ loaded at runtime.
+
+ Current assembly reference that might get updated
+
+
+
+ Redirects a .NET Framework 4.0+ assembly from an older version to the correct version
+ loaded at runtime.
+
+ Current assembly reference that might get updated
+
+
+
+ Tries to redirect a .NET Framework 2.0-3.5 assembly from an older version to the correct version
+ loaded at runtime.
+
+ Assembly reference
+ Updated with the redirected assembly if successful
+
+
+
+
+ Tries to redirect a .NET Framework 4.0+ assembly from an older version to the correct version
+ loaded at runtime.
+
+ Assembly reference
+ Updated with the redirected assembly if successful
+
+
+
+
+ Helps create a name
+
+
+
+
+ Checks whether the assembly name should be included when printing
+ the full type name. The assembly name isn't required in custom attributes
+ when the type already exists in the same module as the CA, or if the type
+ exists in mscorlib.
+
+ The type (TypeDef, TypeRef or ExportedType)
+ or null
+ true if the assembly name must be included, false otherwise
+
+
+
+ Creates type names, method names, etc.
+
+
+
+
+ Checks whether the assembly name should be included when printing the full name.
+ See for more info.
+
+ Owner module
+ The type (TypeDef, TypeRef or ExportedType)
+ or null
+ true if the assembly name must be included, false otherwise
+
+
+
+ Checks whether the assembly name should be included when printing the full name.
+ See for more info.
+
+ Owner module
+ The type (TypeDef, TypeRef or ExportedType)
+ or null
+ If false, don't add an assembly name if it's a type in ,
+ if true, don't add an assembly name if it's a type in or the corlib.
+ true if the assembly name must be included, false otherwise
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The IType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The IType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Property signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Property signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Event type
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Event type
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a field
+
+ Declaring type full name or null if none
+ Name of field
+ Field signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Field full name
+
+
+
+ Returns the full name of a field
+
+ Declaring type full name or null if none
+ Name of field
+ Field signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Field full name
+
+
+
+ Returns the full name of a method
+
+ Declaring type full name or null if none
+ Name of method or null if none
+ Method signature
+ Type generic arguments or null if none
+ Method generic arguments or null if none
+ Generic parameter owner method or null
+ String builder to use or null
+ Method full name
+
+
+
+ Returns the full name of a method
+
+ Declaring type full name or null if none
+ Name of method or null if none
+ Method signature
+ Type generic arguments or null if none
+ Method generic arguments or null if none
+ Generic parameter owner method or null
+ String builder to use or null
+ Method full name
+
+
+
+ Returns the full name of a property sig
+
+ Property sig
+ String builder to use or null
+ Property sig full name
+
+
+
+ Returns the full name of a property sig
+
+ Property sig
+ String builder to use or null
+ Property sig full name
+
+
+
+ Returns the full name of a sig
+
+ Declaring type or null
+ Name or null
+ Method sig
+ Owner method or null
+ String builder to use or null
+ Sig full name
+
+
+
+ Returns the full name of a sig
+
+ Declaring type or null
+ Name or null
+ Method sig
+ Owner method or null
+ String builder to use or null
+ Sig full name
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeRef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeRef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeRef
+ A or null if none found
+
+
+
+ Gets the scope
+
+ The TypeRef
+ The or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeRef
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeDef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeDef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeDef
+ A or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeDef
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSpec
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSpec
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeSpec
+ A or null if none found
+
+
+
+ Gets the scope type
+
+ The TypeSpec
+ The scope type or null if none found
+
+
+
+ Gets the scope
+
+ The TypeSpec
+ The or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeSpec
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ Helps print the name
+ Type generic args or null if none
+ Method generic args or null if none
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ Helps print the name
+ Type generic args or null if none
+ Method generic args or null if none
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSig
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSig
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeSig
+ A or null if none found
+
+
+
+ Gets the scope
+
+ The TypeSig
+ The or null if none found
+
+
+
+ Gets the scope type
+
+ The TypeSig
+ The scope type or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeSig
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The ExportedType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The ExportedType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The ExportedType
+ A or null if none found
+
+
+
+ Gets the scope type
+
+ The ExportedType
+ The scope type or null if none found
+
+
+
+ Gets the scope
+
+ The ExportedType
+ The or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The ExportedType
+ A or null if none found
+
+
+
+
+
+
+ Constructor
+
+ true if it's for generic types, false if generic methods
+
+
+
+ Pushes generic arguments
+
+ The generic arguments
+
+
+
+ Pops generic arguments
+
+ The popped generic arguments
+
+
+
+ Resolves a generic argument
+
+ Generic variable number
+ A or null if none was found
+
+
+
+ Replaces generic type/method var with its generic argument
+
+
+
+
+ Pushes generic arguments
+
+ The generic arguments
+
+
+
+ Pops generic arguments
+
+ The popped generic arguments
+
+
+
+ Pushes generic arguments
+
+ The generic arguments
+
+
+
+ Pops generic arguments
+
+ The popped generic arguments
+
+
+
+ Replaces a generic type/method var with its generic argument (if any). If
+ isn't a generic type/method var or if it can't
+ be resolved, it itself is returned. Else the resolved type is returned.
+
+ Type signature
+ New which is never null unless
+ is null
+
+
+
+ A high-level representation of a row in the GenericParam table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the owner type/method
+
+
+
+
+
+
+
+ Gets the declaring type or null if none or if is
+ not a
+
+
+
+
+
+
+
+ Gets the declaring method or null if none or if is
+ not a
+
+
+
+
+ From column GenericParam.Number
+
+
+
+
+
+
+
+ From column GenericParam.Flags
+
+
+
+ Attributes
+
+
+
+ From column GenericParam.Name
+
+
+
+ Name
+
+
+
+ From column GenericParam.Kind (v1.1 only)
+
+
+
+
+
+
+
+ Gets the generic param constraints
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if is not empty
+
+
+
+
+
+
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets variance (non, contra, co)
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the special constraint
+
+
+
+
+ true if there are no special constraints
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A GenericParam row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The generic param number
+
+
+
+ Constructor
+
+ The generic param number
+ Flags
+
+
+
+ Constructor
+
+ The generic param number
+ Flags
+ Name
+
+
+
+ Created from a row in the GenericParam table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this GenericParam row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ Generic parameter flags. See CorHdr.h/CorGenericParamAttr
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ type argument must be a reference type
+
+
+ type argument must be a value type but not Nullable
+
+
+ type argument must have a public default constructor
+
+
+
+ A high-level representation of a row in the GenericParamConstraint table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the owner generic param
+
+
+
+
+
+
+
+ From column GenericParamConstraint.Constraint
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ A GenericParamConstraintAssembly row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The constraint
+
+
+
+ Created from a row in the GenericParamConstraint table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this GenericParamConstraint row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Generic parameter context
+
+
+
+
+ Type context
+
+
+
+
+ Method context
+
+
+
+
+ true if and are both null
+
+
+
+
+ Creates a new instance and initializes the
+ field to 's
+ and the field to .
+
+ Method
+ A new instance
+
+
+
+ Creates a new instance and initializes the
+ field to and the field
+ to null
+
+ Type
+ A new instance
+
+
+
+ Constructor
+
+ Type context
+
+
+
+ Constructor. The field is set to null and NOT to
+ 's . Use
+ if you want that behavior.
+
+ Method context
+
+
+
+ Constructor
+
+ Type context
+ Method context
+
+
+
+ Resolves assemblies
+
+
+
+
+ Finds and returns an
+
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver or
+ null if the assembly couldn't be found.
+
+
+
+ The table row can be referenced by a MD token
+
+
+
+
+ Returns the metadata token
+
+
+
+
+ Gets/sets the row ID
+
+
+
+
+ All *MD classes implement this interface.
+
+
+
+
+ Gets the original row ID
+
+
+
+
+ An assembly. Implemented by , and
+ .
+
+
+
+
+ The assembly version
+
+
+
+
+ Assembly flags
+
+
+
+
+ Public key or public key token
+
+
+
+
+ Locale, aka culture
+
+
+
+
+ Gets the full name of the assembly but use a public key token
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+ Implemented by and , which are the only
+ valid managed entry point tokens.
+
+
+
+
+ Interface to access a module def/ref
+
+
+
+
+ Type of scope
+
+
+
+
+ It's an instance
+
+
+
+
+ It's a instance
+
+
+
+
+ It's a instance
+
+
+
+
+ Implemented by modules and assemblies
+
+
+
+
+ Gets the scope type
+
+
+
+
+ Gets the scope name
+
+
+
+
+ Interface to get the full name of a type, field, or method
+
+
+
+
+ Gets the full name
+
+
+
+
+ Simple name of implementer
+
+
+
+
+ Implemented by all member refs and types
+
+
+
+
+ Gets the owner module
+
+
+
+
+ Methods to check whether the implementer is a type or a method.
+
+
+
+
+ true if it's a type
+
+
+
+
+ true if it's a method
+
+
+
+
+ Implemented by types, fields, methods, properties, events
+
+
+
+
+ Gets the declaring type
+
+
+
+
+ true if it's a or a that's
+ referencing a field.
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ All member definitions implement this interface: ,
+ , , ,
+ , and .
+
+
+
+
+ Gets the declaring type
+
+
+
+
+ Implemented by the following classes: ,
+ , , ,
+ , , ,
+ and
+
+
+
+
+ Implemented by types and methods
+
+
+
+
+ Gets the number of generic parameters / arguments
+
+
+
+
+ Implemented by fields ( and )
+
+
+
+
+ Gets/sets the field signature
+
+
+
+
+ Implemented by methods (, and )
+
+
+
+
+ Method signature
+
+
+
+
+ Implemented by tables that can be a token in the ldtoken instruction
+
+
+
+
+ The table row can be referenced by a coded token
+
+
+
+
+ TypeDefOrRef coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ HasConstant coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets/sets the constant value
+
+
+
+
+ HasCustomAttribute coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+ true if is not empty
+
+
+
+
+ HasFieldMarshal coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets/sets the marshal type
+
+
+
+
+ true if is not null
+
+
+
+
+ HasDeclSecurity coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets the permission sets
+
+
+
+
+ true if is not empty
+
+
+
+
+ MemberRefParent coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ HasSemantic coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ MethodDefOrRef coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ MemberForwarded coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets/sets the impl map
+
+
+
+
+ true if is not null
+
+
+
+
+ Implementation coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ CustomAttributeType coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ ResolutionScope coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ TypeOrMethodDef coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets the generic parameters
+
+
+
+
+ true if is not empty
+
+
+
+
+ HasCustomDebugInformation interface
+
+
+
+
+ The custom debug information tag
+
+
+
+
+ Gets the custom debug infos
+
+
+
+
+ true if is not empty
+
+
+
+
+ Access to .NET core library's simple types
+
+
+
+
+ Gets a System.Void
+
+
+
+
+ Gets a System.Boolean
+
+
+
+
+ Gets a System.Char
+
+
+
+
+ Gets a System.SByte
+
+
+
+
+ Gets a System.Byte
+
+
+
+
+ Gets a System.Int16
+
+
+
+
+ Gets a System.UInt16
+
+
+
+
+ Gets a System.Int32
+
+
+
+
+ Gets a System.UInt32
+
+
+
+
+ Gets a System.Int64
+
+
+
+
+ Gets a System.UInt64
+
+
+
+
+ Gets a System.Single
+
+
+
+
+ Gets a System.Double
+
+
+
+
+ Gets a System.String
+
+
+
+
+ Gets a System.TypedReference
+
+
+
+
+ Gets a System.IntPtr
+
+
+
+
+ Gets a System.UIntPtr
+
+
+
+
+ Gets a System.Object
+
+
+
+
+ Gets the assembly reference to the core library
+
+
+
+
+ Gets a that references a type in the core library assembly
+
+ Namespace of type (eg. "System")
+ Name of type
+ A instance. This instance may be a cached instance.
+
+
+
+ Custom attribute interface. Implemented by and
+
+
+
+
+
+ Gets the attribute type
+
+
+
+
+ Gets the full name of the attribute type
+
+
+
+
+ Gets all named arguments (field and property values)
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all s that are field arguments
+
+
+
+
+ Gets all s that are property arguments
+
+
+
+
+ Interface to decrypt methods
+
+
+
+
+ Gets the method's body
+
+ Method rid
+ The found in the method's Method row
+ The method's parameters
+ Generic parameter context
+ Updated with the method's if this
+ method returns true
+ true if the method body was decrypted, false if the method isn't
+ encrypted and the default body reader code should be used.
+
+
+
+ Interface to decrypt strings
+
+
+
+
+ Reads a string
+
+ String token
+ A string or null if we should read it from the #US heap
+
+
+
+ events
+
+
+
+
+ An error was detected. An exception should normally be thrown but the error
+ can be ignored.
+
+
+
+
+ Just a warning and can be ignored.
+
+
+
+
+ A normal message
+
+
+
+
+ A verbose message
+
+
+
+
+ A very verbose message
+
+
+
+
+ Simple logger
+
+
+
+
+ Log something
+
+ Caller or null
+ Logger event
+ Format
+ Arguments
+
+
+
+ true if this event is ignored. If the event is ignored, the caller can
+ choose not to call . This is useful if it can take time to
+ prepare the message.
+
+ The logger event
+
+
+
+ Dummy logger which ignores all messages, but can optionally throw on errors.
+
+
+
+
+ It ignores everything and doesn't throw anything.
+
+
+
+
+ Throws a on errors, but ignores anything else.
+
+
+
+
+ Constructor
+
+ If non-null, this exception type is thrown on
+ errors. It must have a public constructor that takes a as the only
+ argument.
+
+
+
+
+
+
+
+
+
+ A high-level representation of a row in the ImplMap table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+ From column ImplMap.MappingFlags
+
+
+
+ Attributes
+
+
+
+ From column ImplMap.ImportName
+
+
+
+ Name
+
+
+
+ From column ImplMap.ImportScope
+
+
+
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the char set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets best fit
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets throw on unmappable char
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets calling convention
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Checks whether this is a certain P/Invoke method
+
+ Name of the DLL
+ Name of the function within the DLL
+ true if it's the specified P/Invoke method, else false
+
+
+
+ Checks whether this is a certain P/Invoke method
+
+ Name of the DLL
+ Name of the function within the DLL
+ Treat as Windows
+ true if it's the specified P/Invoke method, else false
+
+
+
+ An ImplMap row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Scope
+ Name
+ Flags
+
+
+
+ Created from a row in the ImplMap table
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ImplMap row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ options
+
+
+
+
+ Use s whenever possible if the is located
+ in this module.
+
+
+
+
+ Use s whenever possible if the is located
+ in this module.
+
+
+
+
+ Use s whenever possible if the is located
+ in this module.
+
+
+
+
+ Use s, s and s
+ whenever possible if the definition is located in this module.
+
+
+
+
+
+
+
+ Don't set this flag. For internal use only.
+
+
+
+
+ Re-maps entities that were renamed in the target module
+
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Overrides default behavior of
+ May be used to use reference assemblies for resolution, for example.
+
+ to create for.
+ or null to use default 's type resolution
+
+
+
+ Imports s, s, s
+ and s as references
+
+
+
+
+ Constructor
+
+ The module that will own all references
+
+
+
+ Constructor
+
+ The module that will own all references
+ Generic parameter context
+
+
+
+ Constructor
+
+ The module that will own all references
+ Importer options
+
+
+
+ Constructor
+
+ The module that will own all references
+ Importer options
+ Generic parameter context
+
+
+
+ Constructor
+
+ The module that will own all references
+ Importer options
+ Generic parameter context
+ Mapper for renamed entities
+
+
+
+ Imports a as a . If it's a type that should be
+ the declaring type of a field/method reference, call instead.
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a . Should be called if it's the
+ declaring type of a method/field reference. See also
+
+ The type
+
+
+
+
+ Imports a as a
+
+ The type
+ A list of all required modifiers or null
+ A list of all optional modifiers or null
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The type
+ A list of all required modifiers or null
+ A list of all optional modifiers or null
+ The imported type or null if is invalid
+
+
+
+ Imports a as a . This will be either
+ a or a .
+
+ The method
+ The imported method or null if is invalid
+ or if we failed to import the method
+
+
+
+ Imports a as a . This will be either
+ a or a .
+
+ The method
+ Always verify method signature to make sure the
+ returned reference matches the metadata in the source assembly
+ The imported method or null if is invalid
+ or if we failed to import the method
+
+
+
+ Imports a as a
+
+ The field
+ The imported field or null if is invalid
+ or if we failed to import the field
+
+
+
+ Imports a as a
+
+ The field
+ Always verify field signature to make sure the
+ returned reference matches the metadata in the source assembly
+ The imported field or null if is invalid
+ or if we failed to import the field
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a as an
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a as an
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The member ref
+ The imported member ref or null if is invalid
+
+
+
+ A high-level representation of a row in the InterfaceImpl table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column InterfaceImpl.Interface
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ An InterfaceImpl row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The interface the type implements
+
+
+
+ Created from a row in the InterfaceImpl table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this InterfaceImpl row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Resolves types, methods, fields
+
+
+
+
+ Resolves types
+
+
+
+
+ Resolves a type
+
+ The type
+ The module that needs to resolve the type or null
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves fields and methods
+
+
+
+
+ Resolves a method or a field
+
+ A method/field reference
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Resolves tokens
+
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Interface to get the full name of a type
+
+
+
+
+ true if it's a value type
+
+
+
+
+ Returns the name of this type
+
+
+
+
+ Returns the reflection name of this type
+
+
+
+
+ Returns the namespace of this type
+
+
+
+
+ Returns the reflection namespace of this type
+
+
+
+
+ Returns the reflection name of this type. See also .
+
+
+
+
+ Returns the reflection name of this type, and includes the assembly name where the
+ type is located. It can be passed to to
+ load the type.
+
+
+
+
+ Gets the assembly where this type is defined
+
+
+
+
+ Gets the scope, which is different from since it
+ can differentiate between modules within the same assembly.
+
+
+
+
+ Gets the type whose scope is returned by and whose assembly
+ is returned by . This is always a
+ , or null. It can also be a
+ nested .
+ For example, if this type is a System.String&, then this value is a System.String.
+ If it's a generic instance type (eg. List<int>), then the generic type is
+ returned (eg. List<T>). In other words, the first or
+ that is found (without searching generic arguments) is returned.
+
+
+
+
+ true if it's an integer or a floating point type
+
+
+
+
+ Implemented by types and calling convention signatures.
+
+
+
+
+ true if this contains a or a .
+
+
+
+
+ Finds s
+
+
+
+
+ Finds a
+
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing or null if it wasn't found.
+
+
+
+ Finds a . 's scope (i.e., module or
+ assembly) is ignored when looking up the type.
+
+ The type ref
+ An existing or null if it wasn't found.
+
+
+
+ Interface to access a local or a parameter
+
+
+
+
+ Gets the variable type
+
+
+
+
+ Gets the 0-based position
+
+
+
+
+ Gets/sets the variable name
+
+
+
+
+ A high-level representation of a row in the ManifestResource table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column ManifestResource.Offset
+
+
+
+
+
+
+
+ From column ManifestResource.Flags
+
+
+
+ Attributes
+
+
+
+ From column ManifestResource.Name
+
+
+
+ Name
+
+
+
+ From column ManifestResource.Implementation
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ A ManifestResource row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+ Implementation
+
+
+
+ Constructor
+
+ Name
+ Implementation
+ Flags
+
+
+
+ Constructor
+
+ Name
+ Implementation
+ Flags
+ Offset
+
+
+
+ Created from a row in the ManifestResource table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ManifestResource row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ ManifestResource flags. See CorHdr.h/CorManifestResourceFlags
+
+
+
+
+
+
+ The Resource is exported from the Assembly.
+
+
+ The Resource is private to the Assembly.
+
+
+
+ Reads s
+
+
+
+
+ Reads a from the #Blob heap
+
+ Module
+ Blob offset
+ A new instance
+
+
+
+ Reads a from the #Blob heap
+
+ Module
+ Blob offset
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ Marshal data
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ Marshal data
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ A reader that will be owned by us
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ A reader that will be owned by us
+ Generic parameter context
+ A new instance
+
+
+
+ Base class of all marshal types
+
+
+
+
+ The native type
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+ Native type
+
+
+
+
+
+
+ Contains the raw marshal blob data
+
+
+
+
+ Gets/sets the raw data
+
+
+
+
+ Constructor
+
+ Raw data
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the size
+
+
+
+
+ true if is valid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Size
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the variant type
+
+
+
+
+ Gets/sets the user-defined sub type (it's usually null)
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Variant type
+
+
+
+ Constructor
+
+ User-defined sub type
+
+
+
+ Constructor
+
+ Variant type
+ User-defined sub type
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the element type
+
+
+
+
+ Gets/sets the size
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Size
+
+
+
+ Constructor
+
+ Size
+ Element type
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the element type
+
+
+
+
+ Gets/sets the parameter number
+
+
+
+
+ Gets/sets the size of the array
+
+
+
+
+ Gets/sets the flags
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ true if ntaSizeParamIndexSpecified bit is set, false if it's not
+ set or if is invalid.
+
+
+
+
+ true if ntaSizeParamIndexSpecified bit is not set, false if it's
+ set or if is invalid.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Element type
+
+
+
+ Constructor
+
+ Element type
+ Parameter number
+
+
+
+ Constructor
+
+ Element type
+ Parameter number
+ Number of elements
+
+
+
+ Constructor
+
+ Element type
+ Parameter number
+ Number of elements
+ Flags
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the GUID string
+
+
+
+
+ Gets/sets the native type name string
+
+
+
+
+ Gets/sets the custom marshaler
+
+
+
+
+ Gets/sets the cookie string
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ GUID string
+
+
+
+ Constructor
+
+ GUID string
+ Native type name string
+
+
+
+ Constructor
+
+ GUID string
+ Native type name string
+ Custom marshaler name string
+
+
+
+ Constructor
+
+ GUID string
+ Native type name string
+ Custom marshaler name string
+ Cookie string
+
+
+
+
+
+
+ A , or a
+ marshal type
+
+
+
+
+ Gets/sets the IID parameter index
+
+
+
+
+ true if is valid
+
+
+
+
+ Constructor
+
+ Native type
+
+
+
+ Constructor
+
+ Native type
+ IID parameter index
+
+
+
+
+
+
+ Metadata token
+
+
+
+
+ Mask to get the rid from a raw metadata token
+
+
+
+
+ Max rid value
+
+
+
+
+ Number of bits to right shift a raw metadata token to get the table index
+
+
+
+
+ Returns the table type
+
+
+
+
+ Returns the row id
+
+
+
+
+ Returns the raw token
+
+
+
+
+ Returns true if it's a null token
+
+
+
+
+ Constructor
+
+ Raw token
+
+
+
+ Constructor
+
+ Raw token
+
+
+
+ Constructor
+
+ The table type
+ Row id
+
+
+
+ Constructor
+
+ The table type
+ Row id
+
+
+
+ Returns the rid (row ID)
+
+ A raw metadata token
+ A rid
+
+
+
+ Returns the rid (row ID)
+
+ A raw metadata token
+ A rid
+
+
+
+ Returns the table
+
+ A raw metadata token
+ A metadata table index
+
+
+
+ Returns the table
+
+ A raw metadata token
+ A metadata table index
+
+
+
+ Gets the token as a raw 32-bit signed integer
+
+
+
+
+ Gets the token as a raw 32-bit unsigned integer
+
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Represents the #Blob stream
+
+
+
+
+
+
+
+
+
+
+ Reads data
+
+ Offset of data
+ The data or null if invalid offset
+
+
+
+ Reads data just like , but returns an empty array if
+ offset is invalid
+
+ Offset of data
+ The data
+
+
+
+ Creates a reader that can access a blob
+
+ Offset of blob
+ A new stream
+
+
+
+ Creates a reader that can access a blob or returns false on failure
+
+ Offset of blob
+ Updated with the reader
+
+
+
+
+ Contains all possible coded token classes
+
+
+
+ TypeDefOrRef coded token
+
+
+ HasConstant coded token
+
+
+ HasCustomAttribute coded token
+
+
+ HasFieldMarshal coded token
+
+
+ HasDeclSecurity coded token
+
+
+ MemberRefParent coded token
+
+
+ HasSemantic coded token
+
+
+ MethodDefOrRef coded token
+
+
+ MemberForwarded coded token
+
+
+ Implementation coded token
+
+
+ CustomAttributeType coded token
+
+
+ ResolutionScope coded token
+
+
+ TypeOrMethodDef coded token
+
+
+ HasCustomDebugInformation coded token
+
+
+
+ Returns all types of tables
+
+
+
+
+ Returns the number of bits that is used to encode table type
+
+
+
+
+ Constructor
+
+ Number of bits used to encode token type
+ All table types
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+ true if successful
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+ true if successful
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token or 0 on failure
+
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token or 0 on failure
+
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token
+ true if successful
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token
+ true if successful
+
+
+
+ Info about one column in a MD table
+
+
+
+
+ Gets the column index
+
+
+
+
+ Returns the column offset within the table row
+
+
+
+
+ Returns the column size
+
+
+
+
+ Returns the column name
+
+
+
+
+ Returns the ColumnSize enum value
+
+
+
+
+ Constructor
+
+ Column index
+ The column name
+ Column size
+
+
+
+ Constructor
+
+ Column index
+ The column name
+ Column size
+ Offset of column
+ Size of column
+
+
+
+ Reads the column
+
+ A reader positioned on this column
+ The column value
+
+
+
+ Writes a column
+
+ The writer position on this column
+ The column value
+
+
+
+ MD table column size
+
+
+
+ RID into Module table
+
+
+ RID into TypeRef table
+
+
+ RID into TypeDef table
+
+
+ RID into FieldPtr table
+
+
+ RID into Field table
+
+
+ RID into MethodPtr table
+
+
+ RID into Method table
+
+
+ RID into ParamPtr table
+
+
+ RID into Param table
+
+
+ RID into InterfaceImpl table
+
+
+ RID into MemberRef table
+
+
+ RID into Constant table
+
+
+ RID into CustomAttribute table
+
+
+ RID into FieldMarshal table
+
+
+ RID into DeclSecurity table
+
+
+ RID into ClassLayout table
+
+
+ RID into FieldLayout table
+
+
+ RID into StandAloneSig table
+
+
+ RID into EventMap table
+
+
+ RID into EventPtr table
+
+
+ RID into Event table
+
+
+ RID into PropertyMap table
+
+
+ RID into PropertyPtr table
+
+
+ RID into Property table
+
+
+ RID into MethodSemantics table
+
+
+ RID into MethodImpl table
+
+
+ RID into ModuleRef table
+
+
+ RID into TypeSpec table
+
+
+ RID into ImplMap table
+
+
+ RID into FieldRVA table
+
+
+ RID into ENCLog table
+
+
+ RID into ENCMap table
+
+
+ RID into Assembly table
+
+
+ RID into AssemblyProcessor table
+
+
+ RID into AssemblyOS table
+
+
+ RID into AssemblyRef table
+
+
+ RID into AssemblyRefProcessor table
+
+
+ RID into AssemblyRefOS table
+
+
+ RID into File table
+
+
+ RID into ExportedType table
+
+
+ RID into ManifestResource table
+
+
+ RID into NestedClass table
+
+
+ RID into GenericParam table
+
+
+ RID into MethodSpec table
+
+
+ RID into GenericParamConstraint table
+
+
+ RID into Document table
+
+
+ RID into MethodDebugInformation table
+
+
+ RID into LocalScope table
+
+
+ RID into LocalVariable table
+
+
+ RID into LocalConstant table
+
+
+ RID into ImportScope table
+
+
+ RID into StateMachineMethod table
+
+
+ RID into CustomDebugInformation table
+
+
+ 8-bit byte
+
+
+ 16-bit signed int
+
+
+ 16-bit unsigned int
+
+
+ 32-bit signed int
+
+
+ 32-bit unsigned int
+
+
+ Index into #Strings stream
+
+
+ Index into #GUID stream
+
+
+ Index into #Blob stream
+
+
+ TypeDefOrRef encoded token
+
+
+ HasConstant encoded token
+
+
+ HasCustomAttribute encoded token
+
+
+ HasFieldMarshal encoded token
+
+
+ HasDeclSecurity encoded token
+
+
+ MemberRefParent encoded token
+
+
+ HasSemantic encoded token
+
+
+ MethodDefOrRef encoded token
+
+
+ MemberForwarded encoded token
+
+
+ Implementation encoded token
+
+
+ CustomAttributeType encoded token
+
+
+ ResolutionScope encoded token
+
+
+ TypeOrMethodDef encoded token
+
+
+ HasCustomDebugInformation encoded token
+
+
+
+ See COMIMAGE_FLAGS_XXX in CorHdr.h in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_ILONLY in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_32BITREQUIRED in the Windows SDK
+
+
+
+
+ Set if a native header exists (COMIMAGE_FLAGS_IL_LIBRARY)
+
+
+
+
+ See COMIMAGE_FLAGS_STRONGNAMESIGNED in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_NATIVE_ENTRYPOINT in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_TRACKDEBUGDATA in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_32BITPREFERRED in the Windows SDK
+
+
+
+
+ Used when a #~ stream is present in the metadata
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets a rid list (eg. field list)
+
+ Source table, eg. TypeDef
+ Row ID in
+ Column index in , eg. 4 for TypeDef.FieldList
+ Destination table, eg. Field
+ A new instance
+
+
+
+
+
+
+ A custom .NET metadata stream
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of metadata
+ The stream header
+
+
+
+ .NET metadata stream
+
+
+
+
+ Reader that can access the whole stream.
+
+ NOTE: Always copy this field to a local variable before using it since it must be thread safe.
+
+
+
+
+ null if it wasn't present in the file
+
+
+
+
+
+
+
+
+
+
+ Gets the length of this stream in the metadata
+
+
+
+
+ Gets the stream header
+
+
+
+
+ Gets the name of the stream
+
+
+
+
+ Gets a data reader that can read the full stream
+
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of metadata
+ The stream header
+
+
+
+ Called after gets recreated
+
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Checks whether an index is valid
+
+ The index
+ true if the index is valid
+
+
+
+ Check whether an offset is within the stream
+
+ Stream offset
+ true if the offset is valid
+
+
+
+ Check whether an offset is within the stream
+
+ Stream offset
+ Size of data
+ true if the offset is valid
+
+
+
+ Base class of #US, #Strings, #Blob, and #GUID classes
+
+
+
+
+
+
+
+
+
+
+ Initializes .NET table row sizes
+
+
+
+
+ Initializes the table sizes
+
+ true if #Strings size >= 0x10000
+ true if #GUID size >= 0x10000
+ true if #Blob size >= 0x10000
+ Count of rows in each table
+ Count of rows in each table (debug tables)
+
+
+
+ Creates the table infos
+
+ Major table version
+ Minor table version
+ All table infos (not completely initialized)
+
+
+
+ Creates the table infos
+
+ Major table version
+ Minor table version
+ Initialized to max present tables (eg. 42 or 45)
+ All table infos (not completely initialized)
+
+
+
+ Used when a #- stream is present in the metadata
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Converts a logical Field rid to a physical Field rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Method rid to a physical Method rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Param rid to a physical Param rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Event rid to a physical Event rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Property rid to a physical Property rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets a rid list (eg. field list)
+
+ Source table, eg. TypeDef
+ Row ID in
+ Column index in , eg. 4 for TypeDef.FieldList
+ Destination table, eg. Field
+ A new instance
+
+
+
+
+
+
+ Linear searches the table (O(n)) for a rid whose key column at index
+ is equal to .
+
+ Table to search
+ Key column index
+ Key
+ The rid of the found row, or 0 if none found
+
+
+
+
+
+
+ Represents the #GUID stream
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Read a
+
+ Index into this stream
+ A or null if is 0 or invalid
+
+
+
+ Heap type. The values are set in stone by MS. Don't change.
+
+
+
+ #Strings heap
+
+
+ #GUID heap
+
+
+ #Blob heap
+
+
+ #US heap
+
+
+
+ Represents the IMAGE_COR20_HEADER structure
+
+
+
+
+ Returns true if it has a native header
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.cb field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.MajorRuntimeVersion field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.MinorRuntimeVersion field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.Metadata field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.Flags field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.EntryPointToken/EntryPointTokenRVA field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.Resources field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.StrongNameSignature field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.CodeManagerTable field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.VTableFixups field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.ExportAddressTableJumps field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.ManagedNativeHeader field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Reads metadata table columns
+
+
+
+
+ Reads a column
+
+ The table to read from
+ Table row id
+ The column to read
+ Result
+ true if was updated, false if
+ the column should be read from the original table.
+
+
+
+ Reads table rows
+
+ Raw row
+
+
+
+ Reads a table row or returns false if the row should be read from the original table
+
+ Row id
+ The row
+
+
+
+
+ Version strings found in the meta data header
+
+
+
+
+ MS CLR 1.0 version string (.NET 1.0)
+
+
+
+
+ MS CLR 1.0 version string (.NET 1.0). This is an incorrect version that shouldn't be used.
+
+
+
+
+ MS CLR 1.0 version string (.NET 1.0). This is an incorrect version that shouldn't be used.
+
+
+
+
+ MS CLR 1.0 version string (.NET 1.0). This is an incorrect version that shouldn't be used.
+
+
+
+
+ MS CLR 1.1 version string (.NET 1.1)
+
+
+
+
+ MS CLR 2.0 version string (.NET 2.0-3.5)
+
+
+
+
+ MS CLR 4.0 version string (.NET 4.0-4.5)
+
+
+
+
+ MS CLR 1.0 any version
+
+
+
+
+ MS CLR 1.0 any version
+
+
+
+
+ MS CLR 1.1 any version
+
+
+
+
+ MS CLR 2.0 any version
+
+
+
+
+ MS CLR 4.0 any version
+
+
+
+
+ ECMA 2002 version string
+
+
+
+
+ ECMA 2005 version string
+
+
+
+
+ Portable PDB v1.0
+
+
+
+
+ MDStream flags
+
+
+
+ #Strings stream is big and requires 4 byte offsets
+
+
+ #GUID stream is big and requires 4 byte offsets
+
+
+ #Blob stream is big and requires 4 byte offsets
+
+
+
+
+
+
+
+
+ Extra data follows the row counts
+
+
+ Set if certain tables can contain deleted rows. The name column (if present) is set to "_Deleted"
+
+
+
+ A MD table (eg. Method table)
+
+
+
+
+
+
+
+
+
+
+ Gets the table
+
+
+
+
+ Gets the name of this table
+
+
+
+
+ Returns total number of rows
+
+
+
+
+ Gets the total size in bytes of one row in this table
+
+
+
+
+ Returns all the columns
+
+
+
+
+ Returns true if there are no valid rows
+
+
+
+
+ Returns info about this table
+
+
+
+
+ Constructor
+
+ The table
+ Number of rows in this table
+ Info about this table
+
+
+
+ Checks whether the row exists
+
+ Row ID
+
+
+
+ Checks whether the row does not exist
+
+ Row ID
+
+
+
+
+
+
+ Reads .NET metadata
+
+
+
+
+ true if the compressed (normal) metadata is used, false if the non-compressed
+ (Edit N' Continue) metadata is used. This can be false even if the table stream
+ is #~ but that's very uncommon.
+
+
+
+
+ true if this is standalone Portable PDB metadata
+
+
+
+
+ Gets the .NET header
+
+
+
+
+ Gets the version found in the metadata header. The major version number is in the high 16 bits
+ and the lower version number is in the low 16 bits.
+
+
+
+
+ Gets the version string found in the metadata header
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the metadata header
+
+
+
+
+ Returns the #Strings stream or a default empty one if it's not present
+
+
+
+
+ Returns the #US stream or a default empty one if it's not present
+
+
+
+
+ Returns the #Blob stream or a default empty one if it's not present
+
+
+
+
+ Returns the #GUID stream or a default empty one if it's not present
+
+
+
+
+ Returns the #~ or #- tables stream
+
+
+
+
+ Returns the #Pdb stream or null if it's not a standalone portable PDB file
+
+
+
+
+ Gets all streams
+
+
+
+
+ Gets a list of all the valid TypeDef rids. It's usually every rid in the
+ TypeDef table, but could be less if a type has been deleted.
+
+
+
+
+ Gets a list of all the valid ExportedType rids. It's usually every rid in the
+ ExportedType table, but could be less if a type has been deleted.
+
+
+
+
+ Gets the Field rid list
+
+ TypeDef rid
+ A new instance
+
+
+
+ Gets the Method rid list
+
+ TypeDef rid
+ A new instance
+
+
+
+ Gets the Param rid list
+
+ Method rid
+ A new instance
+
+
+
+ Gets the Event rid list
+
+ EventMap rid
+ A new instance
+
+
+
+ Gets the Property rid list
+
+ PropertyMap rid
+ A new instance
+
+
+
+ Finds all InterfaceImpl rids owned by
+
+ Owner TypeDef rid
+ A instance containing the valid InterfaceImpl rids
+
+
+
+ Finds all GenericParam rids owned by in table
+
+ A TypeOrMethodDef table
+ Owner rid
+ A instance containing the valid GenericParam rids
+
+
+
+ Finds all GenericParamConstraint rids owned by
+
+ Owner GenericParam rid
+ A instance containing the valid GenericParamConstraint rids
+
+
+
+ Finds all CustomAttribute rids owned by in table
+
+ A HasCustomAttribute table
+ Owner rid
+ A instance containing the valid CustomAttribute rids
+
+
+
+ Finds all DeclSecurity rids owned by in table
+
+ A HasDeclSecurity table
+ Owner rid
+ A instance containing the valid DeclSecurity rids
+
+
+
+ Finds all MethodSemantics rids owned by in table
+
+ A HasSemantic table
+ Owner rid
+ A instance containing the valid MethodSemantics rids
+
+
+
+ Finds all MethodImpl rids owned by
+
+ Owner TypeDef rid
+ A instance containing the valid MethodImpl rids
+
+
+
+ Finds a ClassLayout rid
+
+ Owner TypeDef rid
+ The ClassLayout rid or 0 if is invalid
+ or if it has no row in the ClassLayout table.
+
+
+
+ Finds a FieldLayout rid
+
+ Owner Field rid
+ The FieldLayout rid or 0 if is invalid
+ or if it has no row in the FieldLayout table.
+
+
+
+ Finds a FieldMarshal rid
+
+ A HasFieldMarshal table
+ Owner rid
+ The FieldMarshal rid or 0 if is invalid
+ or if it has no row in the FieldMarshal table.
+
+
+
+ Finds a FieldRVA rid
+
+ Owner Field rid
+ The FieldRVA rid or 0 if is invalid
+ or if it has no row in the FieldRVA table.
+
+
+
+ Finds an ImplMap rid
+
+ A MemberForwarded table
+ Owner rid
+ The ImplMap rid or 0 if is invalid
+ or if it has no row in the ImplMap table.
+
+
+
+ Finds a NestedClass rid
+
+ Owner TypeDef rid
+ The NestedClass rid or 0 if is invalid
+ or if it has no row in the NestedClass table.
+
+
+
+ Finds an EventMap rid
+
+ Owner TypeDef rid
+ The EventMap rid or 0 if is invalid
+ or if it has no row in the EventMap table.
+
+
+
+ Finds a PropertyMap rid
+
+ Owner TypeDef rid
+ The PropertyMap rid or 0 if is invalid
+ or if it has no row in the PropertyMap table.
+
+
+
+ Finds a Constant rid
+
+ A HasConstant table
+ Owner rid
+ The Constant rid or 0 if is invalid
+ or if it has no row in the Constant table.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Field rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Method rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Event rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Property rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeOrMethodDef rid
+
+ A GenericParam rid
+ The owner TypeOrMethodDef rid or 0 if is
+ invalid or if it has no owner.
+
+
+
+ Returns the owner GenericParam rid
+
+ A GenericParamConstraint rid
+ The owner GenericParam rid or 0 if is
+ invalid or if it has no owner.
+
+
+
+ Returns the owner Method rid
+
+ A Param rid
+ The owner Method rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Gets a list of all nested classes owned by
+
+ A TypeDef rid
+ A new instance
+
+
+
+ Gets a list of all non-nested classes. A type is a non-nested type if
+ returns an empty list.
+
+ A new instance
+
+
+
+ Finds all LocalScope rids owned by
+
+ Owner Method rid
+ A instance containing the valid LocalScope rids
+
+
+
+ Gets the StateMachineMethod rid or 0 if it's not a state machine method
+
+ Owner Method rid
+
+
+
+
+ Finds all CustomDebugInformation rids owned by in table
+
+ A HasCustomDebugInformation table
+ Owner rid
+ A instance containing the valid CustomDebugInformation rids
+
+
+
+ Disposes of this instance
+
+
+
+
+ Common base class for #~ and #- metadata classes
+
+
+
+
+ The PE image
+
+
+
+
+ The .NET header
+
+
+
+
+ The MD header
+
+
+
+
+ The #Strings stream
+
+
+
+
+ The #US stream
+
+
+
+
+ The #Blob stream
+
+
+
+
+ The #GUID stream
+
+
+
+
+ The #~ or #- stream
+
+
+
+
+ The #Pdb stream
+
+
+
+
+ All the streams that are present in the PE image
+
+
+
+ true if this is standalone Portable PDB metadata
+
+
+
+ Sorts a table by key column
+
+
+
+
+ Remembers rid and key
+
+
+
+
+ Constructor
+
+ Row ID
+ Key
+
+
+
+ Constructor
+
+ The MD table
+ Index of key column
+
+
+
+ Binary searches for a row with a certain key
+
+ The key
+ The row or 0 if not found
+
+
+
+ Find all rids that contain
+
+ The key
+ A new instance
+
+
+
+ Constructor
+
+ The PE image
+ The .NET header
+ The MD header
+
+
+
+ Initializes the metadata, tables, streams
+
+
+
+
+ Creates empty heap objects if they're not present in the metadata
+
+
+
+
+ Called by
+
+
+
+
+ Binary searches the table for a rid whose key column at index
+ is equal to .
+
+ Table to search
+ Key column index
+ Key
+ The rid of the found row, or 0 if none found
+
+
+
+ Finds all rows owned by in table
+ whose index is
+
+ Table to search
+ Key column index
+ Key
+ A instance
+
+
+
+ Finds all rows owned by in table
+ whose index is . Should be called if
+ could be unsorted.
+
+ Table to search
+ Key column index
+ Key
+ A instance
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Low level access to a .NET file's metadata
+
+
+
+
+ Create a instance
+
+ The PE image
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ Runtime reader kind
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ Runtime reader kind
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ Runtime reader kind
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Create a standalone portable PDB instance
+
+ Metadata stream
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Represents the .NET metadata header
+
+ IMAGE_COR20_HEADER.Metadata points to this header
+
+
+
+ Returns the signature (should be 0x424A5342)
+
+
+
+
+ Returns the major version
+
+
+
+
+ Returns the minor version
+
+
+
+
+ Returns the reserved dword (pointer to extra header data)
+
+
+
+
+ Returns the version string length value
+
+
+
+
+ Returns the version string
+
+
+
+
+ Returns the offset of STORAGEHEADER
+
+
+
+
+ Returns the flags (reserved)
+
+
+
+
+ Returns the reserved byte (padding)
+
+
+
+
+ Returns the number of streams
+
+
+
+
+ Returns all stream headers
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Runtime reader kind
+ Verify section
+ Thrown if verification fails
+
+
+
+ #Pdb stream
+
+
+
+
+ Gets the PDB id
+
+
+
+
+ Gets the entry point token or 0
+
+
+
+
+ Gets the referenced type system tables in the PE metadata file
+
+
+
+
+ Gets all type system table rows. This array has exactly 64 elements.
+
+
+
+
+
+
+
+ Equality comparer for all raw rows
+
+
+
+
+ Default instance
+
+
+
+
+ Raw contents of an uncompressed Module table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed TypeRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed TypeDef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Field table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Method table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ParamPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Param table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed InterfaceImpl table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MemberRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Constant table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed CustomAttribute table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldMarshal table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed DeclSecurity table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ClassLayout table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldLayout table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed StandAloneSig table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed EventMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed EventPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Event table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed PropertyMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed PropertyPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Property table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodSemantics table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodImpl table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ModuleRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed TypeSpec table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ImplMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldRVA table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ENCLog table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ENCMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Assembly table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyProcessor table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyOS table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyRefProcessor table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyRefOS table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed File table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ExportedType table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ManifestResource table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed NestedClass table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed GenericParam table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodSpec table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed GenericParamConstraint table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Document table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodDebugInformation table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed LocalScope table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed LocalVariable table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed LocalConstant table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ImportScope table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed StateMachineMethod table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed CustomDebugInformation table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Stores a list of rids
+
+
+
+
+ Gets the empty instance
+
+
+
+
+ Creates a new instance
+
+
+
+
+
+
+
+ Creates a new instance
+
+ List of valid rids
+
+
+
+
+ Gets the 'th rid
+
+ Index. Must be <
+ A rid or 0 if is invalid
+
+
+
+ Gets the number of rids it will iterate over
+
+
+
+
+ Enumerator
+
+
+
+
+ Gets the current rid
+
+
+
+
+ Disposes this instance
+
+
+
+
+ Moves to the next rid
+
+
+
+
+
+ Gets the enumerator
+
+
+
+
+
+ Storage flags found in the MD header
+
+
+
+
+ Normal flags
+
+
+
+
+ More data after the header but before the streams.
+
+ The CLR will fail to load the file if this flag (or any other bits) is set.
+
+
+
+ A metadata stream header
+
+
+
+
+ The offset of the stream relative to the start of the metadata header
+
+
+
+
+ The size of the stream
+
+
+
+
+ The name of the stream
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the #Strings stream
+
+
+
+
+
+
+
+
+
+
+ Reads a
+
+ Offset of string
+ A instance or null if invalid offset
+
+
+
+ Reads a . The empty string is returned if
+ is invalid.
+
+ Offset of string
+ A instance
+
+
+
+ The metadata tables
+
+
+
+ Module table (00h)
+
+
+ TypeRef table (01h)
+
+
+ TypeDef table (02h)
+
+
+ FieldPtr table (03h)
+
+
+ Field table (04h)
+
+
+ MethodPtr table (05h)
+
+
+ Method table (06h)
+
+
+ ParamPtr table (07h)
+
+
+ Param table (08h)
+
+
+ InterfaceImpl table (09h)
+
+
+ MemberRef table (0Ah)
+
+
+ Constant table (0Bh)
+
+
+ CustomAttribute table (0Ch)
+
+
+ FieldMarshal table (0Dh)
+
+
+ DeclSecurity table (0Eh)
+
+
+ ClassLayout table (0Fh)
+
+
+ FieldLayout table (10h)
+
+
+ StandAloneSig table (11h)
+
+
+ EventMap table (12h)
+
+
+ EventPtr table (13h)
+
+
+ Event table (14h)
+
+
+ PropertyMap table (15h)
+
+
+ PropertyPtr table (16h)
+
+
+ Property table (17h)
+
+
+ MethodSemantics table (18h)
+
+
+ MethodImpl table (19h)
+
+
+ ModuleRef table (1Ah)
+
+
+ TypeSpec table (1Bh)
+
+
+ ImplMap table (1Ch)
+
+
+ FieldRVA table (1Dh)
+
+
+ ENCLog table (1Eh)
+
+
+ ENCMap table (1Fh)
+
+
+ Assembly table (20h)
+
+
+ AssemblyProcessor table (21h)
+
+
+ AssemblyOS table (22h)
+
+
+ AssemblyRef table (23h)
+
+
+ AssemblyRefProcessor table (24h)
+
+
+ AssemblyRefOS table (25h)
+
+
+ File table (26h)
+
+
+ ExportedType table (27h)
+
+
+ ManifestResource table (28h)
+
+
+ NestedClass table (29h)
+
+
+ GenericParam table (2Ah)
+
+
+ MethodSpec table (2Bh)
+
+
+ GenericParamConstraint table (2Ch)
+
+
+ (Portable PDB) Document table (30h)
+
+
+ (Portable PDB) MethodDebugInformation table (31h)
+
+
+ (Portable PDB) LocalScope table (32h)
+
+
+ (Portable PDB) LocalVariable table (33h)
+
+
+ (Portable PDB) LocalConstant table (34h)
+
+
+ (Portable PDB) ImportScope table (35h)
+
+
+ (Portable PDB) StateMachineMethod table (36h)
+
+
+ (Portable PDB) CustomDebugInformation table (37h)
+
+
+
+ Info about one MD table
+
+
+
+
+ Returns the table type
+
+
+
+
+ Returns the total size of a row in bytes
+
+
+
+
+ Returns all the columns
+
+
+
+
+ Returns the name of the table
+
+
+
+
+ Constructor
+
+ Table type
+ Table name
+ All columns
+
+
+
+ Constructor
+
+ Table type
+ Table name
+ All columns
+ Row size
+
+
+
+ .NET metadata tables stream
+
+
+
+
+ Gets/sets the column reader
+
+
+
+
+ Gets/sets the Method table reader
+
+
+
+
+ Gets the reserved field
+
+
+
+
+ Gets the version. The major version is in the upper 8 bits, and the minor version
+ is in the lower 8 bits.
+
+
+
+
+ Gets
+
+
+
+
+ Gets the reserved log2 rid field
+
+
+
+
+ Gets the valid mask
+
+
+
+
+ Gets the sorted mask
+
+
+
+
+ Gets the extra data
+
+
+
+
+ Gets the MD tables
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Constructor
+
+ factory
+ Offset of metadata
+ Stream header
+
+
+
+ Constructor
+
+ factory
+ Offset of metadata
+ Stream header
+ Runtime kind
+
+
+
+ Initializes MD tables
+
+ Type system table rows (from #Pdb stream)
+
+
+
+
+
+
+
+
+
+ Returns a MD table
+
+ The table type
+ A or null if table doesn't exist
+
+
+
+ Checks whether a table exists
+
+ The table type
+ true if the table exists
+
+
+
+ Checks whether table is sorted
+
+ The table
+
+
+
+ Reads a raw Module row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw TypeRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw TypeDef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Field row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Method row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ParamPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Param row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw InterfaceImpl row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MemberRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Constant row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw CustomAttribute row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldMarshal row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw DeclSecurity row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ClassLayout row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldLayout row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw StandAloneSig row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw EventMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw EventPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Event row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw PropertyMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw PropertyPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Property row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodSemantics row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodImpl row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ModuleRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw TypeSpec row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ImplMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldRVA row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ENCLog row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ENCMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Assembly row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyProcessor row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyOS row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyRefProcessor row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyRefOS row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw File row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ExportedType row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ManifestResource row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw NestedClass row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw GenericParam row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodSpec row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw GenericParamConstraint row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Document row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodDebugInformation row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw LocalScope row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw LocalVariable row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw LocalConstant row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ImportScope row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw StateMachineMethod row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw CustomDebugInformation row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a column
+
+ The table
+ Row ID
+ Column index in
+ Result is put here or 0 if we return false
+ true if we could read the column, false otherwise
+
+
+
+ Reads a column
+
+ The table
+ Row ID
+ Column
+ Result is put here or 0 if we return false
+ true if we could read the column, false otherwise
+
+
+
+ Represents the #US stream
+
+
+
+
+
+
+
+
+
+
+ Reads a unicode string
+
+ Offset of unicode string
+ A string or null if is invalid
+
+
+
+ Reads data just like , but returns an empty string if
+ offset is invalid
+
+ Offset of unicode string
+ The string
+
+
+
+ Finds types, fields, methods, etc in a module. If nothing has been added to the module, it's
+ faster to call ResolveMethodDef(), ResolveTypeRef() etc.
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ Finds all types, fields, etc
+
+ The module to scan
+ Itself
+
+
+
+ Methods to load properties to make sure they're initialized
+
+
+
+
+ Read every collection element
+
+ Collection element type
+ Collection
+
+
+
+ Load the object instance
+
+ The value (ignored)
+
+
+
+ A high-level representation of a row in the MemberRef table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column MemberRef.Class
+
+
+
+
+
+
+
+ From column MemberRef.Name
+
+
+
+ Name
+
+
+
+ From column MemberRef.Signature
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ true if this is a method reference ( != null)
+
+
+
+
+ true if this is a field reference ( != null)
+
+
+
+
+ Gets/sets the method sig
+
+
+
+
+ Gets/sets the field sig
+
+
+
+
+
+
+
+ true if the method has a hidden 'this' parameter
+
+
+
+
+ true if the method has an explicit 'this' parameter
+
+
+
+
+ Gets the calling convention
+
+
+
+
+ Gets/sets the method return type
+
+
+
+
+
+
+
+ Gets the full name
+
+
+
+
+ Get the declaring type's full name
+
+ Full name or null if there's no declaring type
+
+
+
+ Resolves the method/field
+
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Resolves the method/field
+
+ A or a instance
+ If the method/field couldn't be resolved
+
+
+
+ Resolves the field
+
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves the field
+
+ A instance
+ If the field couldn't be resolved
+
+
+
+ Resolves the method
+
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves the method
+
+ A instance
+ If the method couldn't be resolved
+
+
+
+ Gets a that can be used as signature context
+
+ Context passed to the constructor
+ Field/method class owner
+
+
+
+
+
+
+
+ A MemberRef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Constructor
+
+ Owner module
+ Name of ref
+
+
+
+ Constructor
+
+ Owner module
+ Name of field ref
+ Field sig
+
+
+
+ Constructor
+
+ Owner module
+ Name of field ref
+ Field sig
+ Owner of field
+
+
+
+ Constructor
+
+ Owner module
+ Name of method ref
+ Method sig
+
+
+
+ Constructor
+
+ Owner module
+ Name of method ref
+ Method sig
+ Owner of method
+
+
+
+ Created from a row in the MemberRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this MemberRef row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Method attributes, see CorHdr.h/CorMethodAttr
+
+
+
+ member access mask - Use this mask to retrieve accessibility information.
+
+
+ Member not referenceable.
+
+
+ Member not referenceable.
+
+
+ Accessible only by the parent type.
+
+
+ Accessible by sub-types only in this Assembly.
+
+
+ Accessibly by anyone in the Assembly.
+
+
+ Accessible only by type and sub-types.
+
+
+ Accessibly by sub-types anywhere, plus anyone in assembly.
+
+
+ Accessibly by anyone who has visibility to this scope.
+
+
+ Defined on type, else per instance.
+
+
+ Method may not be overridden.
+
+
+ Method virtual.
+
+
+ Method hides by name+sig, else just by name.
+
+
+ vtable layout mask - Use this mask to retrieve vtable attributes.
+
+
+ The default.
+
+
+ Method always gets a new slot in the vtable.
+
+
+ Overridability is the same as the visibility.
+
+
+ Method does not provide an implementation.
+
+
+ Method is special. Name describes how.
+
+
+ Implementation is forwarded through pinvoke.
+
+
+ Managed method exported via thunk to unmanaged code.
+
+
+ Runtime should check name encoding.
+
+
+ Method has security associate with it.
+
+
+ Method calls another method containing security code.
+
+
+
+ A high-level representation of a row in the Method table
+
+
+
+
+ The row id in its table
+
+
+
+
+ All parameters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Method.RVA
+
+
+
+
+
+
+
+ From column Method.ImplFlags
+
+
+
+ Implementation attributes
+
+
+
+ From column Method.Flags
+
+
+
+ Attributes
+
+
+
+ From column Method.Name
+
+
+
+ Name
+
+
+
+ From column Method.Signature
+
+
+
+
+
+
+
+ From column Method.ParamList
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets/sets the method body. See also
+
+
+
+
+
+
+
+
+
+
+ Frees the method body if it has been loaded. This does nothing if
+ returns false.
+
+
+
+ Called to initialize
+
+
+
+ true if can free the method body
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the methods this method implements
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the export info or null if the method isn't exported to unmanaged code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the CIL method body. See also
+
+
+
+
+ Gets/sets the native method body
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if it has a
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the full name
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets the parameters
+
+
+
+
+
+
+
+ true if the method has a hidden 'this' parameter
+
+
+
+
+ true if the method has an explicit 'this' parameter
+
+
+
+
+ Gets the calling convention
+
+
+
+
+ Gets/sets the method return type
+
+
+
+
+ true if the method returns a value (i.e., return type is not )
+
+
+
+
+ Gets/sets the method semantics attributes. If you remove/add a method to a property or
+ an event, you must manually update this property or eg. won't
+ work as expected.
+
+
+
+ Set when has been initialized
+
+
+
+
+
+ Initializes
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the method access
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the code type
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if this is the static type constructor
+
+
+
+
+ true if this is an instance constructor
+
+
+
+
+ true if this is a static or an instance constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A Method row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Method name
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+ Flags
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+ Impl flags
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+ Impl flags
+ Flags
+
+
+
+ Created from a row in the Method table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Method row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+
+
+
+ Contains the name and ordinal of a method that gets exported to unmanaged code.
+
+
+
+
+ Gets the ordinal or null
+
+
+
+
+ Gets the name. If it's null, and is also null, the name of the method
+ () is used as the exported name.
+
+
+
+
+ Gets the options
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Name or null to export by ordinal
+
+
+
+ Constructor
+
+ Ordinal
+
+
+
+ Constructor
+
+ Name or null to export by ordinal
+ Ordinal or null to export by name
+
+
+
+ Constructor
+
+ Name or null to export by ordinal
+ Ordinal or null to export by name
+ Options
+
+
+
+ Exported method options
+
+
+
+
+ No bit is set
+
+
+
+
+ Transition from unmanaged code
+
+
+
+
+ Also retain app domain
+
+
+
+
+ Call most derived method
+
+
+
+
+ Method impl attributes, see CorHdr.h/CorMethodImpl
+
+
+
+ Flags about code type.
+
+
+ Method impl is IL.
+
+
+ Method impl is native.
+
+
+ Method impl is OPTIL
+
+
+ Method impl is provided by the runtime.
+
+
+ Flags specifying whether the code is managed or unmanaged.
+
+
+ Method impl is unmanaged, otherwise managed.
+
+
+ Method impl is managed.
+
+
+ Indicates method is defined; used primarily in merge scenarios.
+
+
+ Indicates method sig is not to be mangled to do HRESULT conversion.
+
+
+ Reserved for internal use.
+
+
+ Method is single threaded through the body.
+
+
+ Method may not be inlined.
+
+
+ Method should be inlined if possible.
+
+
+ Method may not be optimized.
+
+
+ Method may contain hot code and should be aggressively optimized.
+
+
+ The JIT compiler should look for security mitigation attributes, such as the user-defined System.Runtime.CompilerServices.SecurityMitigationsAttribute. If found, the JIT compiler applies any related security mitigations. Available starting with .NET Framework 4.8.
+
+
+
+ Describes which method some method implements
+
+
+
+
+ The method body. Usually a but could be a
+
+
+
+
+ The method implements
+
+
+
+
+ Constructor
+
+ Method body
+ The method implements
+
+
+
+ Method semantics flags, see CorHdr.h/CorMethodSemanticsAttr
+
+
+
+ No bit is set
+
+
+ Setter for property
+
+
+ Getter for property
+
+
+ other method for property or event
+
+
+ AddOn method for event
+
+
+ RemoveOn method for event
+
+
+ Fire method for event
+
+
+
+ A high-level representation of a row in the MethodSpec table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column MethodSpec.Method
+
+
+
+
+
+
+
+ From column MethodSpec.Instantiation
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the generic instance method sig
+
+
+
+
+
+
+
+
+
+
+ Gets the full name
+
+
+
+
+
+
+
+ A MethodSpec row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The generic method
+
+
+
+ Constructor
+
+ The generic method
+ The instantiated method sig
+
+
+
+ Created from a row in the MethodSpec table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this MethodSpec row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ context
+
+
+
+
+ Gets/sets the assembly resolver. This is never null.
+
+
+
+
+ Gets/sets the resolver. This is never null.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Assembly resolver or null
+
+
+
+ Constructor
+
+ Type/method/field resolver or null
+
+
+
+ Constructor
+
+ Assembly resolver or null
+ Type/method/field resolver or null
+
+
+
+ creation options
+
+
+
+
+ Module context
+
+
+
+
+ PDB reader options
+
+
+
+
+ Set it to A) the path (string) of the PDB file, B) the data (byte[]) of the PDB file or
+ C) to an of the PDB data. The will
+ be owned by the module. You don't need to initialize
+
+
+
+
+ If true, will load the PDB file from disk if present, or an embedded portable PDB file
+ stored in the PE file. The default value is true.
+ You don't need to initialize .
+
+
+
+
+ corlib assembly reference to use or null if the default one from the opened
+ module should be used.
+
+
+
+
+ Runtime reader kind, default is . It should be
+ set to if it's an obfuscated Mono/Unity assembly.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Module context
+
+
+
+ Constructor
+
+ Runtime reader kind, default is . It should be
+ set to if it's an obfuscated Mono/Unity assembly.
+
+
+
+ Constructor
+
+ Module context
+ Runtime reader kind, default is . It should be
+ set to if it's an obfuscated Mono/Unity assembly.
+
+
+
+ Runtime reader kind
+
+
+
+
+ Microsoft's CLRs (.NET Framework, .NET Core)
+
+
+
+
+ Mono's CLR (Mono, Unity)
+
+
+
+
+ A high-level representation of a row in the Module table
+
+
+
+ Default characteristics
+
+
+ Default DLL characteristics
+
+
+
+ The row id in its table
+
+
+
+
+ Initialize this in the ctor
+
+
+
+
+ PDB state
+
+
+
+
+ Array of last used rid in each table. I.e., next free rid is value + 1
+
+
+
+ Module context
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/sets a user value. This is never used by dnlib. This property isn't thread safe.
+
+
+
+
+
+
+
+
+
+
+ Gets/sets Module.Generation column
+
+
+
+
+
+
+
+ Gets/sets Module.Name column
+
+
+
+ Name
+
+
+
+ Gets/sets Module.Mvid column
+
+
+
+
+
+
+
+ Gets/sets Module.EncId column
+
+
+
+
+
+
+
+ Gets/sets Module.EncBaseId column
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the module's assembly. To set this value, add this
+ to .
+
+
+
+
+
+
+
+ Gets a list of all non-nested s. See also
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets a list of all s
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the native entry point. Only one of and
+ can be set. You write to one and the other one gets cleared.
+
+
+
+
+ Gets/sets the managed entry point. Only one of and
+ can be set. You write to one and the other one gets cleared.
+
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Called to initialize
+
+
+
+
+
+
+ Gets/sets the entry point method
+
+
+
+
+ true if is non-zero
+
+
+
+
+ true if is non-null
+
+
+
+
+ true if is non-null
+
+
+
+
+ Gets a list of all s
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the . This is null if there are no
+ vtable fixups.
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+
+
+
+ Gets/sets the path of the module or an empty string if it wasn't loaded from disk
+
+
+
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the instance
+
+
+
+
+ Gets/sets the module context. This is never null.
+
+
+
+
+ If true, the cache is enabled. The cache is used by
+ and to find types.
+
+ IMPORTANT: Only enable the cache if this module's types keep their exact
+ name, namespace, and declaring type and if no type is either added or
+ removed from or from any type that is reachable from the
+ top-level types in (i.e., any type owned by this module).
+ This is disabled by default. When disabled, all calls to
+ and will result in a slow O(n) (linear) search.
+
+
+
+
+
+ true if this is the manifest (main) module
+
+
+
+
+ Gets the global (aka. <Module>) type or null if there are no types
+
+
+
+
+ true if it's the core library module, false if it's not the core library module,
+ and null if it's not known.
+
+
+
+
+ Gets/sets the Win32 resources
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ Gets the . This is null if no PDB file
+ has been loaded or if no PDB file could be found.
+
+
+
+
+ Module kind
+
+
+
+
+ Gets/sets the characteristics (from PE file header)
+
+
+
+
+ Gets/sets the DLL characteristics (from PE optional header)
+
+
+
+
+ Gets/sets the runtime version which is stored in the metadata header.
+ See .
+
+ Not thread safe
+
+
+
+ Gets the WinMD status
+
+ Not thread safe
+
+
+
+ true if this is a WinMD file
+
+
+
+
+ true if this is a managed WinMD file
+
+
+
+
+ true if this is a pure (non-managed) WinMD file
+
+
+
+
+ Gets the CLR runtime version of the managed WinMD file or null if none. This is
+ similar to for normal non-WinMD files.
+
+ Not thread safe
+
+
+
+ Gets the WinMD version or null if none
+
+ Not thread safe
+
+
+
+ true if is the CLR v1.0 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v1.0 string
+
+
+
+
+ true if is the CLR v1.1 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v1.1 string
+
+
+
+
+ true if is the CLR v1.0 or v1.1 string (only the
+ major and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v1.0 or v1.1 string
+
+
+
+
+ true if is the CLR v2.0 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v2.0 string
+
+
+
+
+ true if is the CLR v4.0 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v4.0 string
+
+
+
+
+ true if is the ECMA 2002 string
+
+
+
+
+ true if is the ECMA 2005 string
+
+
+
+
+ Gets/sets the (from PE header)
+
+
+
+
+ true if is , , ...
+
+
+
+
+ true if is
+
+
+
+
+ true if is , , ...
+
+
+
+
+ true if is , , ...
+
+
+
+
+ true if is , , ...
+
+
+
+
+ Gets/sets the (from .NET header)
+
+
+
+
+
+
+
+ Gets/sets the runtime version number in the COR20 header. The major version is
+ in the high 16 bits. The minor version is in the low 16 bits. This is normally 2.5
+ (0x00020005), but if it's .NET 1.x, it should be 2.0 (0x00020000). If this is
+ null, the default value will be used when saving the module (2.0 if CLR 1.x,
+ and 2.5 if not CLR 1.x).
+
+
+
+
+ Gets the tables header version. The major version is in the upper 8 bits and the
+ minor version is in the lower 8 bits. .NET 1.0/1.1 use version 1.0 (0x0100) and
+ .NET 2.x and later use version 2.0 (0x0200). 1.0 has no support for generics,
+ 1.1 has support for generics (GenericParam rows have an extra Kind column),
+ and 2.0 has support for generics (GenericParam rows have the standard 4 columns).
+ No other version is supported. If this is null, the default version is
+ used (1.0 if .NET 1.x, else 2.0).
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Gets all the types (including nested types) present in this module
+
+
+
+
+ Adds as a non-nested type. If it's already nested, its
+ will be set to null.
+
+ The to insert
+
+
+
+ Updates the rid to the next free rid available. It's only updated if
+ the original rid is 0.
+
+ IMDTokenProvider
+ The row that should be updated
+ Returns the input
+
+
+
+ Updates the rid to the next free rid available.
+
+ IMDTokenProvider
+ The row that should be updated
+ Returns the input
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The field
+ The imported field or null if is invalid
+ or if we failed to import the field
+
+
+
+ Imports a as a . This will be either
+ a or a .
+
+ The method
+ The imported method or null if is invalid
+ or if we failed to import the method
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a as a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The member ref
+ The imported member ref or null if is invalid
+
+
+
+ Writes the module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+
+
+
+ Writes the module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+ Writer options
+
+
+
+ Writes the module to a stream.
+
+ Destination stream
+
+
+
+ Writes the module to a stream.
+
+ Destination stream
+ Writer options
+
+
+
+ Resets the cache which can be enabled by setting
+ to true. Use this method if the cache is
+ enabled but some of the types have been modified (eg. removed, added, renamed).
+
+
+
+
+ Finds a
+
+ Type
+ Name
+ Language ID
+ The or null if none found
+
+
+
+ Creates a new
+
+ PDB file kind
+
+
+
+ Sets a
+
+ New
+
+
+
+ Returns the size of a pointer. Assumes it's 32-bit if pointer size is unknown or
+ if it can be 32-bit or 64-bit.
+
+ Size of a pointer (4 or 8)
+
+
+
+ Returns the size of a pointer
+
+ Default pointer size if it's not known or if it
+ can be 32-bit or 64-bit
+ Size of a pointer (4 or 8)
+
+
+
+ Returns the size of a pointer
+
+ Default pointer size
+ Pointer size if it's prefer-32-bit (should usually be 4)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Finds a . For speed, enable
+ if possible (read the documentation first).
+
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing or null if it wasn't found.
+
+
+
+ Finds a . Its scope (i.e., module or assembly) is ignored when
+ looking up the type. For speed, enable if possible
+ (read the documentation first).
+
+ The type ref
+ An existing or null if it wasn't found.
+
+
+
+ Finds a
+
+ The type
+ A or null if it wasn't found
+
+
+
+ Creates a new instance. There should normally only be one
+ instance shared by all s.
+
+ A new instance
+
+
+
+ Load everything in this module. All types, fields, asm refs, etc are loaded, all their
+ properties are read to make sure everything is cached.
+
+ Cancellation token or null
+
+
+
+
+
+
+ Resolves a token
+
+ The metadata token
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Gets all s
+
+
+
+
+ Gets all s
+
+
+
+
+ Gets all s. s with generic parameters
+ aren't cached and a new copy is always returned.
+
+
+
+
+ Gets all s. s with generic parameters
+ aren't cached and a new copy is always returned.
+
+ Generic parameter context
+
+
+
+ Gets all s
+
+
+
+
+ Finds an assembly reference by name. If there's more than one, pick the one with
+ the greatest version number.
+
+ Simple name of assembly (eg. "mscorlib")
+ The found or null if there's no such
+ assembly reference.
+
+
+
+ Compare asm refs' version
+
+ First asm ref
+ New asm ref
+
+
+
+
+ A Module row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ is initialized to a random
+ Module nam
+
+
+
+ Constructor
+
+ Module name
+ Module version ID
+
+
+
+ Constructor
+
+ Module name
+ Module version ID
+ Corlib assembly ref or null
+
+
+
+ Created from a row in the Module table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Module row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Initialize fields from the raw Module row
+
+
+
+
+ Created from a row in the Module table
+
+
+
+ The file that contains all .NET metadata
+
+
+
+ Gets/sets the method decrypter
+
+
+
+
+ Gets/sets the string decrypter
+
+
+
+
+ Returns the .NET metadata interface
+
+
+
+
+ Returns the #~ or #- tables stream
+
+
+
+
+ Returns the #Strings stream
+
+
+
+
+ Returns the #Blob stream
+
+
+
+
+ Returns the #GUID stream
+
+
+
+
+ Returns the #US stream
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates a instance from a file
+
+ File name of an existing .NET module/assembly
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a file
+
+ File name of an existing .NET module/assembly
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a byte[]
+
+ Contents of a .NET module/assembly
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a byte[]
+
+ Contents of a .NET module/assembly
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module context or null
+ Image layout of the module in memory
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module creation options or null
+ Image layout of the module in memory
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance
+
+ PE image
+ A new instance
+
+
+
+ Creates a instance
+
+ PE image
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance
+
+ PE image
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module context or null
+ Image layout of the file in memory
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module creation options or null
+ Image layout of the file in memory
+ A new instance
+
+
+
+ Creates a instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream (owned by caller)
+ A new instance
+ If is null
+
+
+
+ Creates a instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream (owned by caller)
+ Module context or null
+ A new instance
+ If is null
+
+
+
+ Creates a instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream (owned by caller)
+ Module creation options or null
+ A new instance
+ If is null
+
+
+
+ Creates a instance from a
+
+ The metadata
+ Module creation options or null
+ A new instance that now owns
+
+
+
+ Constructor
+
+ The metadata
+ Module creation options or null
+ If is null
+
+
+
+ Loads symbols using
+
+ PDB symbol reader
+
+
+
+ Loads symbols from a PDB file
+
+ PDB file name
+
+
+
+ Loads symbols from a PDB file
+
+ PDB reader options
+ PDB file name
+
+
+
+ Loads symbols from a byte array
+
+ PDB data
+
+
+
+ Loads symbols from a byte array
+
+ PDB reader options
+ PDB data
+
+
+
+ Loads symbols from a stream
+
+ PDB file stream which is now owned by us
+
+
+
+ Loads symbols from a stream
+
+ PDB reader options
+ PDB file stream which is now owned by us
+
+
+
+ Loads symbols if a PDB file is available
+
+
+
+
+ Loads symbols if a PDB file is available
+
+ PDB reader options
+
+
+
+ Finds a mscorlib
+
+ An existing instance or null if it wasn't found
+
+
+
+ Called when no corlib assembly reference was found
+
+
+
+
+
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ A TypeDefOrRef coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A TypeDefOrRef coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasConstant coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasCustomAttribute coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasCustomAttribute coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasFieldMarshal coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasDeclSecurity coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MemberRefParent coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MemberRefParent coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasSemantic coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MethodDefOrRef coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MethodDefOrRef coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MemberForwarded coded token
+ A or null if is invalid
+
+
+
+ Resolves an
+
+ An Implementation coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A CustomAttributeType coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A CustomAttributeType coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A ResolutionScope coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A TypeOrMethodDef> coded token
+ A or null if is invalid
+
+
+
+ Reads a signature from the #Blob stream
+
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature from the #Blob stream
+
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a from the blob
+
+ Table of owner
+ Row ID of owner
+ Generic parameter context
+ A new instance or null if there's no field
+ marshal for this owner.
+
+
+
+ Reads a CIL method body
+
+ Method parameters
+ RVA
+ A new instance. It's empty if RVA is invalid (eg. 0 or
+ it doesn't point to a CIL method body)
+
+
+
+ Reads a CIL method body
+
+ Method parameters
+ RVA
+ Generic parameter context
+ A new instance. It's empty if RVA is invalid (eg. 0 or
+ it doesn't point to a CIL method body)
+
+
+
+ Returns the owner type of a field
+
+ The field
+ The owner type or null if none
+
+
+
+ Returns the owner type of a method
+
+ The method
+ The owner type or null if none
+
+
+
+ Returns the owner type of an event
+
+ The event
+ The owner type or null if none
+
+
+
+ Returns the owner type of a property
+
+ The property
+ The owner type or null if none
+
+
+
+ Returns the owner type/method of a generic param
+
+ The generic param
+ The owner type/method or null if none
+
+
+
+ Returns the owner generic param of a generic param constraint
+
+ The generic param constraint
+ The owner generic param or null if none
+
+
+
+ Returns the owner method of a param
+
+ The param
+ The owner method or null if none
+
+
+
+ Reads a module
+
+ File rid
+ The assembly owning the module we should read
+ A new instance or null if
+ is invalid or if it's not a .NET module.
+
+
+
+ Gets a list of all File rids that are .NET modules. Call
+ to read one of these modules.
+
+ A new instance
+
+
+
+ Concatenates the inputs and returns the result if it's a valid path
+
+ Base dir
+ File name
+ Full path to the file or null if one of the inputs is invalid
+
+
+
+ Gets the base directory where this .NET module is located on disk
+
+ Base directory or null if unknown or if an error occurred
+
+
+
+ Creates a instance
+
+ ManifestResource rid
+ A new instance
+
+
+
+ Reads a
+
+ Custom attribute rid
+ A new instance or null if
+ is invalid
+
+
+
+ Reads a
+
+ Custom attribute rid
+ Generic parameter context
+ A new instance or null if
+ is invalid
+
+
+
+ Reads data somewhere in the address space of the image
+
+ RVA of data
+ Size of data
+ All the data or null if or
+ is invalid
+
+
+
+ Gets the native entry point or 0 if none
+
+
+
+
+ Gets the managed entry point (a Method or a File) or null if none
+
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a method body
+
+ Method
+ Method RVA
+ Method impl attrs
+ Generic parameter context
+ A or null if none
+
+
+
+ Updates with the PDB info (if any)
+
+ Owner method
+ Method body
+ Returns originak value
+
+
+
+ Reads a string from the #US heap
+
+ String token
+ A non-null string
+
+
+
+ Writes the mixed-mode module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+
+
+
+ Writes the mixed-mode module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+ Writer options
+
+
+
+ Writes the mixed-mode module to a stream.
+
+ Destination stream
+
+
+
+ Writes the mixed-mode module to a stream.
+
+ Destination stream
+ Writer options
+
+
+
+ Reads data from the #Blob. The following columns are returned:
+ Field.Signature
+ Method.Signature
+ MemberRef.Signature
+ Constant.Value
+ CustomAttribute.Value
+ FieldMarshal.NativeType
+ DeclSecurity.PermissionSet
+ StandAloneSig.Signature
+ Property.Type
+ TypeSpec.Signature
+ Assembly.PublicKey
+ AssemblyRef.PublicKeyOrToken
+ File.HashValue
+ MethodSpec.Instantiation
+
+ A token
+ The value in the #Blob or null if is invalid
+
+
+
+ Module kind
+
+
+
+
+ Console UI module
+
+
+
+
+ Windows GUI module
+
+
+
+
+ DLL module
+
+
+
+
+ Netmodule (it has no assembly manifest)
+
+
+
+
+ A high-level representation of a row in the ModuleRef table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column ModuleRef.Name
+
+
+
+ Name
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ Gets the definition module, i.e., the module which it references, or null
+ if the module can't be found.
+
+
+
+
+ Gets the definition assembly, i.e., the assembly of the module it references, or
+ null if the assembly can't be found.
+
+
+
+
+
+
+
+
+
+
+ A ModuleRef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Constructor
+
+ Owner module
+ Module name
+
+
+
+ Created from a row in the ModuleRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ModuleRef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Native types used by field marshals. See CorHdr.h/CorNativeType
+
+
+
+ Deprecated
+
+
+ void
+
+
+ bool
+
+
+ int8
+
+
+ unsigned int8
+
+
+ int16
+
+
+ unsigned int16
+
+
+ int32
+
+
+ unsigned int32
+
+
+ int64
+
+
+ unsigned int64
+
+
+ float32
+
+
+ float64
+
+
+ syschar
+
+
+ variant
+
+
+ currency
+
+
+ ptr
+
+
+ decimal
+
+
+ date
+
+
+ bstr
+
+
+ lpstr
+
+
+ lpwstr
+
+
+ lptstr
+
+
+ fixed sysstring
+
+
+ objectref
+
+
+ iunknown
+
+
+ idispatch
+
+
+ struct
+
+
+ interface
+
+
+ safearray
+
+
+ fixed array
+
+
+ int
+
+
+ uint
+
+
+ nested struct
+
+
+ byvalstr
+
+
+ ansi bstr
+
+
+ tbstr
+
+
+ variant bool
+
+
+ func
+
+
+ as any
+
+
+ array
+
+
+ lpstruct
+
+
+ custom marshaler
+
+
+ error
+
+
+ iinspectable
+
+
+ hstring
+
+
+ UTF-8 encoded string
+
+
+ first invalid element type
+
+
+ Value wasn't present in the blob
+
+
+ Raw marshal blob type
+
+
+
+ A resolver that always fails
+
+
+
+
+ The one and only instance of this type
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameter flags. See CorHdr.h/CorParamAttr
+
+
+
+ Param is [In]
+
+
+ Param is [out]
+
+
+ Param is a locale identifier
+
+
+ Param is a return value
+
+
+ Param is optional
+
+
+ Param has default value.
+
+
+ Param has FieldMarshal.
+
+
+
+ A high-level representation of a row in the Param table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the declaring method
+
+
+
+
+
+
+
+ From column Param.Flags
+
+
+
+ Attributes
+
+
+
+ From column Param.Sequence
+
+
+
+
+
+
+
+ From column Param.Name
+
+
+
+ Name
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if is not null
+
+
+
+
+ Gets the constant element type or if there's no constant
+
+
+
+
+ true if is not null
+
+
+
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ A Param row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Sequence
+
+
+
+ Constructor
+
+ Name
+ Sequence
+ Flags
+
+
+
+ Created from a row in the Param table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Param row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ A list of all method parameters
+
+
+
+
+ Gets the owner method
+
+
+
+
+ Gets the number of parameters, including a possible hidden 'this' parameter
+
+
+
+
+ Gets the index of the first parameter that is present in the method signature.
+ If this is a static method, the value is 0, else it's an instance method so the
+ index is 1 since the first parameter is the hidden 'this' parameter.
+
+
+
+
+ Gets the N'th parameter
+
+ The parameter index
+
+
+
+ Gets the method return parameter
+
+
+
+
+ Constructor
+
+ The method with all parameters
+ 's declaring type
+
+
+
+ Should be called when the method's declaring type has changed
+
+ Method declaring type
+
+
+
+ Should be called when the method sig has changed
+
+
+
+
+
+
+
+ Enumerator
+
+
+
+
+ Gets the current value
+
+
+
+
+ Moves to the next element in the collection
+
+
+
+
+
+ Disposes the enumerator
+
+
+
+
+ Gets the list enumerator
+
+
+
+
+
+ A method parameter
+
+
+
+
+ The hidden 'this' parameter's
+
+
+
+
+ The return type parameter's
+
+
+
+
+ Gets the parameter index. If the method has a hidden 'this' parameter, that parameter
+ has index 0 and the remaining parameters in the method signature start from index 1.
+ The method return parameter has index -1.
+
+
+
+
+ Gets the index of the parameter in the method signature. See also
+ and
+
+
+
+
+ true if it's a normal visible method parameter, i.e., it's not the hidden
+ 'this' parameter and it's not the method return type parameter.
+
+
+
+
+ true if it's the hidden 'this' parameter
+
+
+
+
+ true if it's the method return type parameter
+
+
+
+
+ Gets the parameter type
+
+
+
+
+ Gets the owner method
+
+
+
+
+ Gets the or null if not present
+
+
+
+
+ true if it has a
+
+
+
+
+ Gets the name from . If is null,
+ an empty string is returned.
+
+
+
+
+ Constructor
+
+ Parameter index
+
+
+
+ Constructor
+
+ Parameter index
+ Parameter type
+
+
+
+ Constructor
+
+ Parameter index (0 is hidden this param if it exists)
+ Index in method signature
+
+
+
+ Constructor
+
+ Parameter index (0 is hidden this param if it exists)
+ Index in method signature
+ Parameter type
+
+
+
+ Creates a if it doesn't already exist
+
+
+
+
+
+
+
+ Custom debug info guids
+
+
+
+
+ Implements and uses a as the underlying
+ stream.
+
+
+
+
+ Constructor
+
+ Source stream
+
+
+
+ Constructor
+
+ Source stream
+ Name of original file or null if unknown.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IMAGE_DEBUG_DIRECTORY
+
+
+
+
+ An address in the image
+
+
+
+
+ Section
+
+
+
+
+ Offset in
+
+
+
+
+ Constructor
+
+ Section
+ Offset in
+
+
+
+ Constructor
+
+ Section
+ Offset in
+
+
+
+ Returns true if is less than or equal to
+
+ First
+ Second
+
+
+
+
+ Returns true if is less than
+
+ First
+ Second
+
+
+
+
+ Returns true if is greater than or equal to
+
+ First
+ Second
+
+
+
+
+ Returns true if is greater than
+
+ First
+ Second
+
+
+
+
+ Returns true if is equal to
+
+ First
+ Second
+
+
+
+
+ Returns true if is not equal to
+
+ First
+ Second
+
+
+
+
+ Compares this instance with and returns less than 0 if it's
+ less than , 0 if it's equal to and
+ greater than 0 if it's greater than
+
+ Other instance
+
+
+
+
+ Compares this to another instance
+
+ The other one
+ true if they're equal
+
+
+
+ Compares this to another instance
+
+ The other one
+ true if they're equal
+
+
+
+ Gets the hash code
+
+ Hash code
+
+
+
+ ToString() override
+
+
+
+
+
+ Reads a 32-bit offset followed by a 16-bit section and creates a new
+
+ Reader
+
+
+
+
+ Exception that is thrown when encounters an error.
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Inner exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ A managed PDB reader implementation for .NET modules.
+
+
+
+
+ Read the PDB in the specified stream.
+
+ PDB file data reader
+
+
+
+ Creates a instance
+
+
+
+
+ Creates a new instance
+
+ PDB context
+ PDB file stream which is now owned by this method
+ A new instance or null.
+
+
+
+ A constant in a method scope, eg. "const int SomeConstant = 123;"
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the type of the constant
+
+
+
+
+ Gets/sets the value of the constant
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Name of constant
+ Type of constant
+ Constant value
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ ToString()
+
+
+
+
+
+ Custom debug info kind
+
+ See CustomDebugInfoKind in Roslyn source code
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base class of custom debug info added to the PDB file by the compiler
+
+
+
+
+ Gets the custom debug info kind
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Unknown custom debug info. If you see an instance of this class, you're using an old dnlib version or
+ dnlib hasn't been updated to support this new custom debug info kind.
+
+
+
+
+ Gets the custom debug info kind
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the data
+
+
+
+
+ Constructor
+
+ Custom debug info kind
+ Raw custom debug info data
+
+
+
+ Constructor
+
+ Custom debug info guid
+ Raw custom debug info data
+
+
+
+ Contains sizes of using groups
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the using counts
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains a reference to another method that contains the import strings
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the referenced method
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ The referenced method
+
+
+
+ Contains a reference to another method that contains the per-module debug info (assembly reference aliases)
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the referenced method
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ The referenced method
+
+
+
+ State machine hosted local scope info
+
+
+
+
+ true if it's a syntesized local ( and are both null)
+
+
+
+
+ The instruction of the first operation in the scope. Can be null if it's a synthesized local
+
+
+
+
+ The instruction of the first operation outside of the scope or null if it ends at the last instruction in the body.
+ Can also be null if it's a synthesized local (in which case is also null, see )
+
+
+
+
+ Constructor
+
+ Start of the scope
+ First instruction after the end of the scope
+
+
+
+ Contains local scopes for state machine hoisted local variables.
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the scopes
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains the state machine type
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the state machine type
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ State machine type
+
+
+
+ Contains dynamic flags for local variables and constants
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the dynamic locals
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Dynamic local info
+
+
+
+
+ Gets the dynamic flags
+
+
+
+
+ Gets/sets the name of the local. The name must have at most 64 characters and no char can be NUL (0x0000).
+ If null is written, is returned instead.
+
+
+
+
+ true if it's a constant and not a variable ( is null)
+
+
+
+
+ true if it's a variable ( is not null)
+
+
+
+
+ Gets/sets the local. Could be null if there's no local (it's a 'const' local).
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains the EnC local variable slot map
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the data. Spec: https://github.com/dotnet/corefx/blob/master/src/System.Reflection.Metadata/specs/PortablePdb-Metadata.md#EditAndContinueLocalSlotMap
+
+
+
+
+ Constructor
+
+ Raw custom debug info data
+
+
+
+ Contains the EnC lambda map
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the data. Spec: https://github.com/dotnet/corefx/blob/master/src/System.Reflection.Metadata/specs/PortablePdb-Metadata.md#EditAndContinueLambdaAndClosureMap
+
+
+
+
+ Constructor
+
+ Raw custom debug info data
+
+
+
+ Contains tuple element names for local variables and constants
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the tuple element names
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Tuple element name info
+
+
+
+
+ Gets/sets the name of the local. If null is written, is returned instead.
+
+
+
+
+ Gets/sets the local. It's null if it's a constant, and non-null if it's a variable
+
+
+
+
+ true if it's a constant. Constants have a scope ( and )
+
+
+
+
+ true if it's a variable. Variables don't have a scope ( and )
+
+
+
+
+ Gets/sets the start of the scope or null. Only constants have a scope.
+
+
+
+
+ Gets/sets the end of the scope or null if it has no scope or if the scope ends at the end of the body. Only constants have a scope.
+
+
+
+
+ Gets the tuple element names
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains tuple element names for local variables and constants
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the tuple element names
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Async method stepping info
+
+ It's internal and translated to a
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the catch handler instruction or null
+
+
+
+
+ Gets all async step infos
+
+
+
+
+ Constructor
+
+
+
+
+ Default namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the default namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Default namespace
+
+
+
+ Dynamic flags
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the dynamic flags
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Dynamic flags
+
+
+
+ Contains the source code
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the source code blob.
+
+ It's not decompressed and converted to a string because the encoding isn't specified.
+
+ https://github.com/dotnet/corefx/blob/master/src/System.Reflection.Metadata/specs/PortablePdb-Metadata.md#embedded-source-c-and-vb-compilers
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Source code blob
+
+
+
+ Contains the source link file
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the source link file contents
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Source link file contents
+
+
+
+ Contains the source server file
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the source server file contents
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Source server file contents
+
+
+
+ Async method info
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the starting method that initiates the async operation
+
+
+
+
+ Gets/sets the instruction for the compiler generated catch handler that wraps an async method.
+ This can be null.
+
+
+
+
+ Gets all step infos used by the debugger
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Default capacity for
+
+
+
+ Async step info used by debuggers
+
+
+
+
+ The yield instruction
+
+
+
+
+ Resume method
+
+
+
+
+ Resume instruction (where the debugger puts a breakpoint)
+
+
+
+
+ Constructor
+
+ The yield instruction
+ Resume method
+ Resume instruction (where the debugger puts a breakpoint)
+
+
+
+ Iterator method
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the kickoff method
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Kickoff method
+
+
+
+ A PDB document
+
+
+
+
+ Gets/sets the document URL
+
+
+
+
+ Gets/sets the language GUID. See
+
+
+
+
+ Gets/sets the language vendor GUID. See
+
+
+
+
+ Gets/sets the document type GUID. See
+
+
+
+
+ Gets/sets the checksum algorithm ID. See
+
+
+
+
+ Gets/sets the checksum
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ A instance
+
+
+
+ Constructor
+
+ Document URL
+ Language. See
+ Language vendor. See
+ Document type. See
+ Checksum algorithm ID. See
+ Checksum
+
+
+
+
+
+
+
+
+
+ PDB document constants
+
+
+
+
+ PDB file kind
+
+
+
+
+ Windows PDB
+
+
+
+
+ Portable PDB
+
+
+
+
+ Embedded portable PDB
+
+
+
+
+ Import scope
+
+
+
+
+ Constructor
+
+
+
+
+ Gets/sets the parent import scope
+
+
+
+
+ Gets all imports
+
+
+
+
+ true if is not empty
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Import kind
+
+
+
+
+ PDB import base class
+
+
+
+
+ Gets the import kind
+
+
+
+
+ Import namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Import assembly, namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the target assembly
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Import type
+
+
+
+
+ Returns
+
+
+
+
+ Gets the target type
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Import xml namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Import assembly reference alias
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Alias assembly reference
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target assembly
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Alias namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Alias assembly namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target assembly
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Alias type
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target type
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ A local variable
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Gets/sets the local
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the attributes
+
+
+
+
+ Gets the index of the local
+
+
+
+
+ true if it should be hidden in debugger variables windows. Not all compiler generated locals have this flag set.
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Local attributes
+
+
+
+
+ No bit is set
+
+
+
+
+ Local should be hidden in debugger variables windows. Not all compiler generated locals have this flag set.
+
+
+
+
+ A PDB method
+
+
+
+
+ Gets/sets the root scope. It contains all scopes of the method, using namespaces, variables and constants
+
+
+
+
+ Constructor
+
+
+
+
+ PDB reader options
+
+
+
+
+ No bit is set
+
+
+
+
+ Use the COM Windows PDB reader instead of the managed Windows PDB reader.
+
+ This is NOT recommended since the COM reader can only be called on the same
+ thread it was created on. It also requires a Windows OS.
+
+ If this is not set, the managed PDB reader will be used.
+
+ This option is only used if it's a Windows PDB file, not if it's a Portable PDB file.
+
+
+
+
+ Don't use Microsoft.DiaSymReader.Native. This is a NuGet package with an updated Windows PDB reader/writer implementation,
+ and if it's available at runtime, dnlib will try to use it. If this option is set, dnlib won't use it.
+ You have to add a reference to the NuGet package if you want to use it, dnlib has no reference to the NuGet package.
+
+ Only used if is set and if it's a Windows PDB file
+
+
+
+
+ Don't use diasymreader.dll's PDB reader that is shipped with .NET Framework.
+
+ Only used if is set and if it's a Windows PDB file
+
+
+
+
+ A PDB scope
+
+
+
+
+ Constructor
+
+
+
+
+ Gets/sets the first instruction
+
+
+
+
+ Gets/sets the last instruction. It's null if it ends at the end of the method.
+
+
+
+
+ Gets all child scopes
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all locals in this scope
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all namespaces (Windows PDBs). Portable PDBs use
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets/sets the import scope (Portable PDBs). Windows PDBs use
+
+
+
+
+ Gets all constants
+
+
+
+
+ true if is not empty
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ PDB state for a
+
+
+
+
+ Gets/sets the PDB file kind. You can change it from portable PDB to embedded portable PDB
+ and vice versa. Converting a Windows PDB to a portable PDB isn't supported.
+
+
+
+
+ Gets/sets the user entry point method.
+
+
+
+
+ Gets all PDB documents
+
+
+
+
+ true if is not empty
+
+
+
+
+ Constructor
+
+ Module
+ PDB file kind
+
+
+
+ Constructor
+
+ A instance
+ Owner module
+
+
+
+ Adds
+
+ New document
+ if it wasn't inserted, or the already existing document
+ if it was already inserted.
+
+
+
+ Removes
+
+ Document
+ true if it was removed, false if it wasn't inserted.
+
+
+
+ Returns an inserted instance or null if it's not been
+ inserted yet.
+
+ A PDB document
+ The existing or null if it doesn't exist.
+
+
+
+ Removes all documents
+
+
+
+
+
+ Removes all documents and optionally returns them
+
+ true if all the original s
+ should be returned.
+ All s if is true
+ or null if is false.
+
+
+
+ Constructor
+
+ Module that resolves assembly and type references
+ Portable PDB blob stream
+
+
+
+ PDB sequence point
+
+
+
+
+ PDB document
+
+
+
+
+ Start line
+
+
+
+
+ Start column
+
+
+
+
+ End line
+
+
+
+
+ End column
+
+
+
+
+ Clones this instance
+
+ A new cloned instance
+
+
+
+ Async step info
+
+
+
+
+ Yield offset
+
+
+
+
+ Breakpoint offset
+
+
+
+
+ Breakpoint method token
+
+
+
+
+ Constructor
+
+ Yield offset
+ Breakpoint offset
+ Breakpoint method token
+
+
+
+ A document
+
+
+
+
+ Gets the URL
+
+
+
+
+ Gets the language
+
+
+
+
+ Gets the language vendor
+
+
+
+
+ Gets the document type
+
+
+
+
+ Gets the checksum algorithm id
+
+
+
+
+ Gets the checksum
+
+
+
+
+ Gets the custom debug infos
+
+
+
+
+ A method
+
+
+
+
+ Gets the method token
+
+
+
+
+ Gets the root scope
+
+
+
+
+ Gets all sequence points
+
+
+
+
+ Reads custom debug info
+
+ Method
+ Method body
+ Updated with custom debug info
+
+
+
+ A namespace
+
+
+
+
+ Gets the name
+
+
+
+
+ Reads symbols from a PDB file
+
+
+
+
+ Called by the owner module before any other methods and properties are called
+
+ Owner module
+
+
+
+ Gets the PDB file kind
+
+
+
+
+ Gets the user entry point token or 0 if none
+
+
+
+
+ Gets all documents
+
+
+
+
+ Gets a method or returns null if the method doesn't exist in the PDB file
+
+ Method
+ Edit and continue version. The first version is 1
+
+
+
+
+ Reads custom debug info
+
+ Token of a instance
+ Generic parameter context
+ Updated with custom debug info
+
+
+
+ Cleans up resources
+
+
+
+
+ A scope
+
+
+
+
+ Gets the method
+
+
+
+
+ Gets the parent scope
+
+
+
+
+ Gets the start offset of the scope in the method
+
+
+
+
+ Gets the end offset of the scope in the method
+
+
+
+
+ Gets all child scopes
+
+
+
+
+ Gets all locals defined in this scope
+
+
+
+
+ Gets all namespaces in this scope
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Gets the import scope or null if none
+
+
+
+
+ Gets all the constants
+
+ Owner module if a signature must be read from the #Blob
+ Generic parameter context
+
+
+
+
+ Sequence point
+
+
+
+
+ IL offset
+
+
+
+
+ Document
+
+
+
+
+ Start line
+
+
+
+
+ Start column
+
+
+
+
+ End line
+
+
+
+
+ End column
+
+
+
+
+ A variable
+
+
+
+
+ Gets the name
+
+
+
+
+ Gets the attributes
+
+
+
+
+ Gets the index of the variable
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Reads custom debug infos produced by the C# and Visual Basic compilers. They're stored in PDB files
+ as PDB method custom attributes with the name "MD2".
+
+
+
+
+ Reads custom debug info
+
+ Method
+ The method's body. Needs to be provided by the caller since we're called from
+ PDB-init code when the Body property hasn't been initialized yet
+ Place all custom debug info in this list
+ Custom debug info from the PDB file
+
+
+
+ Writes custom debug infos produced by the C# and Visual Basic compilers. They're stored in PDB files
+ as PDB method custom attributes with the name "MD2".
+
+
+
+
+ Returns the raw custom debug info or null if there was an error
+
+ Metadata
+ Writer context
+ Method
+ Custom debug infos to write
+
+
+
+
+
+
+
+ P/Invoke attributes, see CorHdr.h/CorPinvokeMap
+
+
+
+ Pinvoke is to use the member name as specified.
+
+
+ Use this mask to retrieve the CharSet information.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Information about target function. Not relevant for fields.
+
+
+
+
+
+ Pinvoke will use native callconv appropriate to target windows platform.
+
+
+
+
+
+
+
+
+
+
+
+ In M9, pinvoke will raise exception.
+
+
+
+
+
+
+ Property attributes, see CorHdr.h/CorPropertyAttr
+
+
+
+ property is special. Name describes how.
+
+
+ Runtime(metadata internal APIs) should check name encoding.
+
+
+ Property has default
+
+
+
+ A high-level representation of a row in the Property table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Property.PropFlags
+
+
+
+ Attributes
+
+
+
+ From column Property.Name
+
+
+
+ Name
+
+
+
+ From column Property.Type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the first getter method. Writing null will clear all get methods.
+
+
+
+
+ Gets/sets the first setter method. Writing null will clear all set methods.
+
+
+
+
+ Gets all getter methods
+
+
+
+
+ Gets all setter methods
+
+
+
+
+ Gets the other methods
+
+
+
+
+ Initializes , ,
+ and .
+
+
+
+
+
+
+
+
+
+
+
+
+ Reset , ,
+
+
+
+ true if there are no methods attached to this property
+
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the constant element type or if there's no constant
+
+
+
+
+ Gets/sets the property sig
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+
+ Gets the full name of the property
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+ A Property row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Property signature
+
+
+
+ Constructor
+
+ Name
+ Property signature
+ Flags
+
+
+
+ Created from a row in the Property table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Property row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ Represents a public key
+
+
+
+
+ Gets the
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Public key data
+
+
+
+ Constructor
+
+ Public key data as a hex string or the string "null"
+ to set public key data to null
+
+
+
+
+
+
+
+
+
+ Public key / public key token base class
+
+
+
+
+ The key data
+
+
+
+
+ Returns true if is null or empty
+
+
+
+
+ Returns true if is null
+
+
+
+
+ Gets/sets key data
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+ Key data
+
+
+
+ Constructor
+
+ Key data as a hex string or the string "null"
+ to set key data to null
+
+
+
+ Checks whether a public key or token is null or empty
+
+ Public key or token instance
+
+
+
+ Returns a
+
+ A or a instance
+
+
+
+ Compares two s as s
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two public key tokens are equal
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Compares two s
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two public key tokens are equal
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Gets the public key token hash code
+
+ Public key or token
+ The hash code
+
+
+
+ Gets the public key token hash code
+
+ Public key token
+ The hash code
+
+
+
+ Creates a
+
+ Public key data or null
+ A new instance or null if
+ was null
+
+
+
+ Creates a
+
+ Public key token data or null
+ A new instance or null if
+ was null
+
+
+
+ Gets the raw public key / public key token byte array
+
+ The instance or null
+ Raw public key / public key token data or null
+
+
+
+
+
+
+ Represents a public key token
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Recursion counter
+
+
+
+
+ Max recursion count. If this is reached, we won't continue, and will use a default value.
+
+
+
+
+ Gets the recursion counter
+
+
+
+
+ Increments if it's not too high. ALL instance methods
+ that can be called recursively must call this method and
+ (if this method returns true)
+
+ true if it was incremented and caller can continue, false if
+ it was not incremented and the caller must return to its caller.
+
+
+
+ Must be called before returning to caller if
+ returned true.
+
+
+
+
+
+
+
+ Extension methods for reflection types, methods, fields
+
+
+
+
+ Checks whether it's a
+
+ The type
+
+
+
+ Gets a 's
+
+ The type
+ The type's element type
+
+
+
+ Returns true if is a generic method, but
+ not a generic method definition, i.e., a MethodSpec.
+
+ The method
+
+
+
+ Checks whether a parameter/prop/event type should be treated as if it is really a
+ generic instance type and not a generic type definition. In the .NET metadata (method
+ sig), the parameter is a generic instance type, but the CLR treats it as if it's just
+ a generic type def. This seems to happen only if the parameter type is exactly the same
+ type as the declaring type, eg. a method similar to: MyType<!0> MyType::SomeMethod().
+
+ Declaring type of method/event/property
+ Parameter/property/event type
+
+
+
+ Checks whether is a type definition and not a type spec
+ (eg. pointer or generic type instantiation)
+
+ this
+
+
+
+ Resolve exception base class
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Thrown if an assembly couldn't be resolved
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Thrown if a type couldn't be resolved
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Thrown if a method/field couldn't be resolved
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Resolves types, methods, fields
+
+
+
+
+ true to project WinMD types to CLR types, eg. Windows.UI.Xaml.Interop.TypeName
+ gets converted to System.Type before trying to resolve the type. This is enabled
+ by default.
+
+
+
+
+ Constructor
+
+ The assembly resolver
+
+
+
+
+
+
+
+
+
+ Type of resource
+
+
+
+
+ It's a
+
+
+
+
+ It's a
+
+
+
+
+ It's a
+
+
+
+
+ Resource base class
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the offset of the resource
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the flags
+
+
+
+
+ Gets the type of resource
+
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Constructor
+
+ Name
+ flags
+
+
+
+ A resource that is embedded in a .NET module. This is the most common type of resource.
+
+
+
+
+ Gets the length of the data
+
+
+
+
+
+
+
+ Constructor
+
+ Name of resource
+ Resource data
+ Resource flags
+
+
+
+ Constructor
+
+ Name of resource
+ Data reader factory
+ Offset of resource data
+ Length of resource data
+ Resource flags
+
+
+
+ Gets a data reader that can access the resource
+
+
+
+
+
+
+
+
+ A reference to a resource in another assembly
+
+
+
+
+
+
+
+ Gets/sets the assembly reference
+
+
+
+
+ Constructor
+
+ Name of resource
+ Assembly reference
+ Resource flags
+
+
+
+
+
+
+ A resource that is stored in a file on disk
+
+
+
+
+
+
+
+ Gets/sets the file
+
+
+
+
+ Gets/sets the hash
+
+
+
+
+ Gets/sets the file name
+
+
+
+
+ Constructor
+
+ Name of resource
+ The file
+ Resource flags
+
+
+
+
+
+
+ A collection of s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ List listener
+
+
+
+ Constructor
+
+ Initial length of the list
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ Finds the index of a resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds the index of an embedded resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds the index of an assembly linked resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds the index of a linked resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds a resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Finds an embedded resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Finds an assembly linked resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Finds a linked resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Built-in resource data
+
+
+
+
+ Gets the data
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Type of data
+ Data
+
+
+
+
+
+
+
+
+
+ Implemented by all resource data
+
+
+
+
+ Gets the type of data
+
+
+
+
+ Start offset of the section in the file
+
+
+
+
+ End offset of the section in the file. This is one byte after the last
+ valid offset in the section.
+
+
+
+
+ Writes the data
+
+ Writer
+ Formatter if needed by implementer
+
+
+
+ Creates resource data
+
+
+
+
+ Gets the owner module
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Gets number of user data types
+
+
+
+
+ Create null data
+
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates array data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates serialized data
+
+ Serialized data
+ Type of serialized data
+
+
+
+
+ Creates serialized data
+
+ Serialized data
+
+
+
+
+ Creates a user type. If the type already exists, the existing value is returned.
+
+ Full name of type
+
+
+
+
+ Creates a user type. If the type already exists, the existing value is returned.
+
+ Full name of type
+ Use without converting it to a
+ type in an existing assembly reference
+
+
+
+
+ Converts an assembly simple name (eg. mscorlib) to the full name of the assembly,
+ which includes the version, public key token, etc. Returns null if it's
+ unknown.
+
+ Simple name of assembly
+
+
+
+
+ Gets all types sorted by
+
+
+
+
+
+ Resource element
+
+
+
+
+ Name of resource
+
+
+
+
+ Data of resource
+
+
+
+
+
+
+
+ Resource element set
+
+
+
+
+ Gets the number of elements in the set
+
+
+
+
+ Gets all resource elements
+
+
+
+
+ Adds a new resource to the set, overwriting any existing resource
+
+
+
+
+
+ Thrown by
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Message
+
+
+
+ Constructor
+
+
+
+
+
+
+ Gets called to create a from serialized data. Returns null
+ if a default instance should be created.
+
+ ResourceDataFactory
+ Serialized type
+ Serialized data
+
+
+
+
+ Reads .NET resources
+
+
+
+
+ Returns true if it's possibly resources file data
+
+ Reader
+
+
+
+
+ Reads a .NET resource
+
+ Owner module
+ Data of resource
+
+
+
+
+ Reads a .NET resource
+
+ Owner module
+ Data of resource
+ Call back that gets called to create a instance. Can be null.
+
+
+
+
+ Type of resource
+
+
+
+
+ null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ array
+
+
+
+
+
+
+
+
+
+ Start of user types
+
+
+
+
+ Writes .NET resources
+
+
+
+
+ Write .NET resources
+
+ Owner module
+ Output stream
+ .NET resources
+
+
+
+ Base class of all user data
+
+
+
+
+ Full name including assembly of type
+
+
+
+
+ User type code
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ User resource type
+
+
+
+
+
+
+ Binary data
+
+
+
+
+ Gets the raw data
+
+
+
+
+ Constructor
+
+ User resource type
+ Raw serialized data
+
+
+
+
+
+
+
+
+
+ User resource type
+
+
+
+
+ Full name including assembly of type
+
+
+
+
+ User type code
+
+
+
+
+ Constructor
+
+ Full name including assembly of type
+ User type code
+
+
+
+
+
+
+ Security action. See CorHdr.h/CorDeclSecurity
+
+
+
+ Mask allows growth of enum.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Persisted grant set at prejit time
+
+
+ Persisted grant set at prejit time
+
+
+ Persisted denied set at prejit time
+
+
+ Persisted denied set at prejit time
+
+
+
+
+
+
+
+
+
+
+
+ Maximum legal value
+
+
+
+ A DeclSecurity security attribute
+
+
+
+
+ Gets/sets the attribute type
+
+
+
+
+ Gets the full name of the attribute type
+
+
+
+
+ Gets all named arguments (field and property values)
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all s that are field arguments
+
+
+
+
+ Gets all s that are property arguments
+
+
+
+
+ Creates a from an XML string.
+
+ Owner module
+ XML
+ A new instance
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Attribute type
+
+
+
+ Constructor
+
+ Attribute type
+ Named arguments that will be owned by this instance
+
+
+
+
+
+
+ See CorSerializationType/CorHdr.h
+
+
+
+
+
+
+ System.Boolean
+
+
+ System.Char
+
+
+ System.SByte
+
+
+ System.Byte
+
+
+ System.Int16
+
+
+ System.UInt16
+
+
+ System.Int32
+
+
+ System.UInt32
+
+
+ System.Int64
+
+
+ System.UInt64
+
+
+ System.Single
+
+
+ System.Double
+
+
+ System.String
+
+
+ Single-dimension, zero lower bound array ([])
+
+
+ System.Type
+
+
+ Boxed value type
+
+
+ A field
+
+
+ A property
+
+
+ An enum
+
+
+
+ Compares types
+
+
+
+
+ Default instance
+
+
+
+
+ Case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compares fields
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compares methods
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compares properties
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+ Compares events
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+ Compares calling convention signatures
+
+
+
+
+ Default instance
+
+
+
+
+ Case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Decides how to compare types, sigs, etc
+
+
+
+
+ Don't compare a type's (assembly/module) scope
+
+
+
+
+ Compares a method/field's declaring type.
+
+
+
+
+ Compares a property's declaring type
+
+
+
+
+ Compares an event's declaring type
+
+
+
+
+ Compares method / field / property / event declaring types
+
+
+
+
+ Compares parameters after a sentinel in method sigs. Should not be enabled when
+ comparing s against s since it's
+ not possible to get those sentinel params from a .
+
+
+
+
+ Compares assembly public key token
+
+
+
+
+ Compares assembly version
+
+
+
+
+ Compares assembly locale
+
+
+
+
+ If set, a and an can reference the
+ global <Module> type.
+
+
+
+
+ Don't compare a method/property's return type
+
+
+
+
+ Type namespaces are case insensitive
+
+
+
+
+ Type names (not namespaces) are case insensitive
+
+
+
+
+ Type names and namespaces are case insensitive
+
+
+
+
+ Method and field names are case insensitive
+
+
+
+
+ Property names are case insensitive
+
+
+
+
+ Event names are case insensitive
+
+
+
+
+ Type namespaces, type names, method names, field names, property names
+ and event names are all case insensitive
+
+
+
+
+ A field that is can compare equal to
+ a
+
+
+
+
+ A method that is can compare equal to
+ a
+
+
+
+
+ A field that is and a method that is
+ can compare equal to a
+
+
+
+
+ Raw (bit by bit) comparison of signatures. This matches what the CLR does when it
+ compares signatures. This means that metadata tokens will be compared.
+
+
+
+
+ Ignore required and optional modifiers when comparing s.
+ They're already ignored when comparing eg. a with a
+ .
+
+
+
+
+ By default, all module and assembly compares when they're both the system library
+ (eg. mscorlib or System.Runtime.dll) return true, even if they're really different,
+ eg. mscorlib (.NET 2.0) vs mscorlib (Windows CE). If this flag is set, the system
+ library is compared just like any other module/assembly.
+
+
+
+
+ Don't project CLR compatible WinMD references back to the original CLR type/method before comparing
+
+
+
+
+ Don't check type equivalence when comparing types. Starting with .NET 4.0, two different
+ types can be considered equivalent if eg. a TypeIdentifierAttribute is used.
+
+
+
+
+ When comparing types, don't compare a multi-dimensional array's lower bounds and sizes
+
+
+
+
+ Compares types, signatures, methods, fields, properties, events
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+ Constructor
+
+ Comparison options
+ The module which the comparison take place in.
+
+
+
+ is mapped to , so use
+ the same hash code for both
+
+
+
+
+ Compare members
+
+ Member #1
+ Member #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a member
+
+ The member
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares resolution scopes
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares implementation
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares resolution scope and implementation
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares files
+
+ File #1
+ File #2
+ true if same, false otherwise
+
+
+
+ Compares a module with a file
+
+ Module
+ File
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares assemblies
+
+ Assembly #1
+ Assembly #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares type lists
+
+ Type list #1
+ Type list #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type list
+
+ The type list
+ The hash code
+
+
+
+ Compares signatures
+
+ Sig #1
+ Sig #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a sig
+
+ The sig
+ The hash code
+
+
+
+ Compares method/property sigs
+
+ Method/property #1
+ Method/property #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a method/property sig
+
+ The method/property sig
+ The hash code
+
+
+
+ Compares field sigs
+
+ Field sig #1
+ Field sig #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field sig
+
+ The field sig
+ The hash code
+
+
+
+ Compares local sigs
+
+ Local sig #1
+ Local sig #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a local sig
+
+ The local sig
+ The hash code
+
+
+
+ Compares generic method instance sigs
+
+ Generic inst method #1
+ Generic inst method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a generic instance method sig
+
+ The generic inst method sig
+ The hash code
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a method
+
+ The method
+ The hash code
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a method
+
+ The method
+ The hash code
+
+
+
+ Compares MemberRefs
+
+ MemberRef #1
+ MemberRef #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MemberRef
+
+ The MemberRef
+ The hash code
+
+
+
+ Compares MethodSpecs
+
+ MethodSpec #1
+ MethodSpec #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MethodSpec
+
+ The MethodSpec
+ The hash code
+
+
+
+ Compares MemberRefParents
+
+ MemberRefParent #1
+ MemberRefParent #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MemberRefParent
+
+ The MemberRefParent
+ The hash code
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field
+
+ The field
+ The hash code
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field
+
+ The field
+ The hash code
+
+
+
+ Compares properties
+
+ Property #1
+ Property #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a property
+
+ The property
+ The hash code
+
+
+
+ Compares events
+
+ Event #1
+ Event #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of an event
+
+ The event
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Checks whether it's FnPtr&, FnPtr*, FnPtr[], or FnPtr[...]
+
+ The type
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if we should treat
+ as a generic instance type
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Gets the hash code of a type
+
+ The type
+ true if we should treat
+ as a generic instance type
+ The hash code
+
+
+
+ Gets the hash code of a type list
+
+ The type list
+ The hash code
+
+
+
+ Gets the hash code of a list with only generic method parameters ()
+
+ Number of generic method parameters
+ Hash code
+
+
+
+ Gets the hash code of a TypeDef type
+
+ The type
+ The hash code
+
+
+
+ Compares type lists
+
+ Type list #1
+ Type list #2
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares a file and a module
+
+ File
+ Module
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares assemblies
+
+ Assembly #1
+ Assembly #2
+ true if same, false otherwise
+
+
+
+ Compares method declaring types
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares method sigs
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares method sigs
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares generic method args, making sure only
+ contains s.
+
+ Number of generic method args in method #1
+ Generic method args in method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MethodBase
+
+ The MethodBase
+ The hash code
+
+
+
+ Gets the hash code of a parameter list
+
+ The type list
+ Declaring type of method that owns parameter
+ The hash code
+
+
+
+ Compares calling conventions
+
+ Calling convention
+ Method
+
+
+
+
+ Compares return types
+
+ Return type #1
+ MethodBase
+ true if same, false otherwise
+
+
+
+ Compares parameter lists
+
+ Type list #1
+ Type list #2
+ Declaring type of method that owns parameter
+ true if same, false otherwise
+
+
+
+ Compares parameter types
+
+ Parameter type #1
+ Parameter #2
+ Declaring type of method that owns parameter
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field
+
+ The field
+ The hash code
+
+
+
+ Compares properties
+
+ Property #1
+ Property #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a property
+
+ The property
+ The hash code
+
+
+
+ Compares events
+
+ Event #1
+ Event #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of an event
+
+ The event
+ The hash code
+
+
+
+
+
+
+ Helps resolve types
+
+
+
+
+ Resolves a
+
+ A TypeDefOrRef coded token
+ Generic parameter context
+ A or null if
+ is invalid
+
+
+
+ Converts the address of a to a
+
+
+ Address of . This is also known as the
+ method table and has the same value as
+ A or null if not supported
+
+
+
+ Reads signatures from the #Blob stream
+
+
+
+
+ Reads a signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ Generic parameter context
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Constructor
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+
+
+
+ Constructor
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+
+
+
+ Reads the signature
+
+ A new instance or null if invalid signature
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads the next type
+
+ A new instance or null if invalid element type
+
+
+
+ A high-level representation of a row in the StandAloneSig table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column StandAloneSig.Signature
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the method sig
+
+
+
+
+ Gets/sets the locals sig
+
+
+
+
+
+
+
+ A StandAloneSig row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ A locals sig
+
+
+
+ Constructor
+
+ A method sig
+
+
+
+ Created from a row in the StandAloneSig table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this StandAloneSig row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Thrown if the strong name key or public key is invalid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ Other exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ Type of signature algorithm. See WinCrypt.h in the Windows SDK
+
+
+
+
+ RSA signature algorithm
+
+
+
+
+ A public key
+
+
+
+
+ Gets/sets the signature algorithm
+
+
+
+
+ Gets/sets the hash algorithm
+
+
+
+
+ Gets/sets the modulus
+
+
+
+
+ Gets/sets the public exponent
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Modulus
+ Public exponent
+
+
+
+ Constructor
+
+ Modulus
+ Public exponent
+ Hash algorithm
+
+
+
+ Constructor
+
+ Modulus
+ Public exponent
+ Hash algorithm
+ Signature algorithm
+
+
+
+ Constructor
+
+ Public key
+
+
+
+ Constructor
+
+ Public key data
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Public key file
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Public key stream
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Public key reader
+ Strong name key is invalid
+
+
+
+ Creates a public key blob
+
+
+
+
+
+
+
+ Stores a strong name key pair
+
+
+
+
+ Gets the public key
+
+
+
+
+ Gets the strong name signature size in bytes
+
+
+
+
+ Gets the public key hash algorithm. It's usually
+
+
+
+
+ Gets the public exponent
+
+
+
+
+ Gets the modulus
+
+
+
+
+ Gets prime1
+
+
+
+
+ Gets prime2
+
+
+
+
+ Gets exponent1
+
+
+
+
+ Gets exponent2
+
+
+
+
+ Gets the coefficient
+
+
+
+
+ Gets the private exponent
+
+
+
+
+ Constructor
+
+ Strong name key data
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Strong name key file
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Strong name key stream
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Strong name key reader
+ Strong name key is invalid
+
+
+
+ Creates a strong name key with a new hash algorithm
+
+ Algorithm
+
+
+
+
+ Creates an instance
+
+
+
+
+ Creates a strong name blob
+
+
+
+
+ Creates a counter signature, just like
+ sn -a IdentityPubKey.snk IdentityKey.snk SignaturePubKey.snk can do.
+ The public key sn prints is 's value.
+
+ Identity public key
+ Identity strong name key pair
+ Signature public key
+ The counter signature as a hex string
+
+
+
+ Creates a counter signature, just like
+ sn -a IdentityPubKey.snk IdentityKey.snk SignaturePubKey.snk can do.
+ The public key sn prints is 's value.
+
+ Identity public key
+ Identity strong name key pair
+ Signature public key
+ The counter signature
+
+
+
+ Strong name signs an assembly. It supports normal strong name signing and the new
+ (.NET 4.5) enhanced strong name signing.
+
+
+
+
+ Constructor
+
+ .NET PE file stream
+
+
+
+ Constructor
+
+ .NET PE file stream
+ Offset in of the first byte of
+ the PE file.
+
+
+
+ Calculates the strong name signature and writes it to the stream. The signature
+ is also returned.
+
+ Strong name key used for signing
+ Offset (relative to the start of the PE file) of the strong
+ name signature.
+ The strong name signature
+
+
+
+ Calculates and returns the strong name signature
+
+ Strong name key used for signing
+ Offset (relative to start of PE file) of the strong
+ name signature.
+ The strong name signature
+
+
+
+ Strong name hashes the .NET file
+
+ Hash algorithm
+ Strong name sig offset (relative to start of .NET PE file)
+ Size of strong name signature
+ The strong name hash of the .NET file
+
+
+
+ Returns the strong name signature
+
+ Strong name key
+ Hash algorithm
+ Strong name hash of the .NET PE file
+ Strong name signature
+
+
+
+ System.Runtime.InteropServices.TypeIdentifierAttribute helper code used by
+
+
+
+
+ TypeDef and ExportedType flags. See CorHdr.h/CorTypeAttr
+
+
+
+ Use this mask to retrieve the type visibility information.
+
+
+ Class is not public scope.
+
+
+ Class is public scope.
+
+
+ Class is nested with public visibility.
+
+
+ Class is nested with private visibility.
+
+
+ Class is nested with family visibility.
+
+
+ Class is nested with assembly visibility.
+
+
+ Class is nested with family and assembly visibility.
+
+
+ Class is nested with family or assembly visibility.
+
+
+ Use this mask to retrieve class layout information
+
+
+ Class fields are auto-laid out
+
+
+ Class fields are laid out sequentially
+
+
+ Layout is supplied explicitly
+
+
+ Use this mask to retrieve class semantics information.
+
+
+ Use this mask to retrieve class semantics information.
+
+
+ Type is a class.
+
+
+ Type is an interface.
+
+
+ Class is abstract
+
+
+ Class is concrete and may not be extended
+
+
+ Class name is special. Name describes how.
+
+
+ Class / interface is imported
+
+
+ The class is Serializable.
+
+
+ The type is a Windows Runtime type
+
+
+ Use StringFormatMask to retrieve string information for native interop
+
+
+ LPTSTR is interpreted as ANSI in this class
+
+
+ LPTSTR is interpreted as UNICODE
+
+
+ LPTSTR is interpreted automatically
+
+
+ A non-standard encoding specified by CustomFormatMask
+
+
+ Use this mask to retrieve non-standard encoding information for native interop. The meaning of the values of these 2 bits is unspecified.
+
+
+ Initialize the class any time before first static field access.
+
+
+ This ExportedType is a type forwarder.
+
+
+ Flags reserved for runtime use.
+
+
+ Runtime should check name encoding.
+
+
+ Class has security associate with it.
+
+
+
+ A high-level representation of a row in the TypeDef table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always returns false since a does not contain any
+ or .
+
+
+
+
+
+
+
+ Gets/sets the owner module
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ From column TypeDef.Flags
+
+
+
+ Attributes
+
+
+
+ From column TypeDef.Name
+
+
+
+ Name
+
+
+
+ From column TypeDef.Namespace
+
+
+
+ Name
+
+
+
+ From column TypeDef.Extends
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ From column TypeDef.FieldList
+
+
+
+
+
+
+ Initializes
+
+
+
+ From column TypeDef.MethodList
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the interfaces
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the class layout
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+
+
+
+ Gets/sets the enclosing type. It's null if this isn't a nested class.
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ Gets all the nested types
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all events
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all properties
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets/sets the packing size. If you write to this property but
+ is null, it will be created. The value is returned
+ if is null.
+
+
+
+
+ Gets/sets the class size. If you write to this property but
+ is null, it will be created. The value is returned
+ if is null.
+
+
+
+
+
+
+
+ true if it's an enum
+
+
+
+
+ true if it's a delegate (it derives from )
+
+
+
+
+ true if this is a nested type (it has a declaring type)
+
+
+
+
+
+
+
+ Checks whether this type has opted into equivalence
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the layout
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the string format
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if this is the global (aka. <Module>) type
+
+
+
+
+ Gets a list of all nested types and all their nested types
+
+
+
+
+ Gets an enum's underlying type or null if none. Should only be called
+ if this is an enum.
+
+
+
+
+ Resolves a method or a field. (owner type) is ignored when
+ resolving the method/field. Private scope methods/fields are not returned.
+
+ A method/field reference
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Resolves a method or a field. (owner type) is ignored when
+ resolving the method/field.
+
+ A method/field reference
+ Method/field signature comparison options
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Finds a method. Private scope methods are not returned.
+
+ Method name
+ Method signature
+ The first method that matches or null if none found
+
+
+
+ Finds a method
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The first method that matches or null if none found
+
+
+
+ Finds a method
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The module that needs to find the method or null
+ The first method that matches or null if none found
+
+
+
+ Finds a method by name
+
+ Name of method
+ The or null if not found
+
+
+
+ Finds all methods by name
+
+ Name of method
+ All methods with that name
+
+
+
+ Finds the class constructor (aka type initializer). It's the method named .cctor
+
+ The class constructor or null if none found
+
+
+
+ Finds the class constructor (aka type initializer). It's the method named .cctor.
+ If it doesn't exist, it is created, inserted into and returned.
+ The created .cctor will have just one RET instruction.
+
+ The class constructor
+
+
+
+ Finds all instance constructors (not class constructors)
+
+ All instance constructors
+
+
+
+ Finds all static and instance constructors
+
+ All static and instance constructors
+
+
+
+ Finds the default instance constructor (the one with no arguments)
+
+ The default instance constructor or null if none
+
+
+
+ Finds a field. Private scope fields are not returned.
+
+ Field name
+ Field signature
+ The first field that matches or null if none found
+
+
+
+ Finds a field
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The first field that matches or null if none found
+
+
+
+ Finds a field
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The module that needs to find the field or null
+ The first field that matches or null if none found
+
+
+
+ Finds a field by name
+
+ Name of field
+ The or null if not found
+
+
+
+ Finds all fields by name
+
+ Name of field
+ All fields with that name
+
+
+
+ Finds an event
+
+ Name of event
+ Type of event
+ A or null if not found
+
+
+
+ Finds an event
+
+ Name of event
+ Type of event
+ Event type comparison options
+ A or null if not found
+
+
+
+ Finds an event
+
+ Name of event
+ Type of event
+ Event type comparison options
+ The module that needs to find the event or null
+ A or null if not found
+
+
+
+ Finds an event by name
+
+ Name of event
+ The or null if not found
+
+
+
+ Finds all events by name
+
+ Name of event
+ All events with that name
+
+
+
+ Finds a property
+
+ Name of property
+ Property signature
+ A or null if not found
+
+
+
+ Finds a property
+
+ Name of property
+ Property signature
+ Property signature comparison options
+ A or null if not found
+
+
+
+ Finds a property
+
+ Name of property
+ Property signature
+ Property signature comparison options
+ The module that needs to find the property or null
+ A or null if not found
+
+
+
+ Finds a prop by name
+
+ Name of prop
+ The or null if not found
+
+
+
+ Finds all props by name
+
+ Name of prop
+ All props with that name
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ Method signature
+ The method or null if it wasn't found
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The method or null if it wasn't found
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The module that needs to find the method or null
+ The method or null if it wasn't found
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ The method or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ Field signature
+ The field or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The field or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The module that needs to find the field or null
+ The field or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ The field or null if it wasn't found
+
+
+
+ Finds an event by checking this type or any of its base types
+
+ Event name
+ Event type
+ The event or null if it wasn't found
+
+
+
+ Finds an event by checking this type or any of its base types
+
+ Event name
+ The event or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ Property signature
+ The property or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ Property signature
+ Property signature comparison options
+ The property or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ Property signature
+ Property signature comparison options
+ The module that needs to find the property or null
+ The property or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ The property or null if it wasn't found
+
+
+
+ Removes a method from this type. It also removes it from any properties and events.
+
+ The method to remove
+
+
+
+ Removes a method from this type. It also removes it from any properties and events.
+
+ The method to remove
+ true if we should remove all
+ empty properties and events.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all fields named
+
+ Field name
+ A list of 0 or more fields with name
+
+
+
+ Gets the first field named
+
+ Field name
+ The field or null if none found
+
+
+
+ FInd a method implementation method
+
+ Method
+
+
+
+
+
+
+
+ A TypeDef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Namespace
+ Name
+
+
+
+ Constructor
+
+ Name
+ Base class or null if it's an interface
+
+
+
+ Constructor
+
+ Namespace
+ Name
+ Base class or null if it's an interface
+
+
+
+ Created from a row in the TypeDef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this TypeDef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Gets all methods overrides
+
+ The method
+ Generic parameter context
+ A list (possibly empty) of all methods overrides
+
+
+
+ Initializes all . Only those s
+ that are property or event handlers get updated.
+
+
+
+
+ Initializes a property's special methods
+
+ The property
+ Updated with a list of all get methods
+ Updated with a list of all set methods
+ Updated with a list of all other methods
+
+
+
+ Initializes an event's special methods
+
+ The event
+ Updated with the addOn method or null if none
+ Updated with the fire method or null if none
+ Updated with the removeOn method or null if none
+ Updated with a list of all other methods
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Finds s
+
+
+
+
+ true if the cache is enabled. false if the cache
+ is disabled and a slower O(n) lookup is performed.
+
+
+
+
+ Constructor
+
+ All root types. All their nested types are also included.
+ If is null
+
+
+
+ Constructor
+
+ All root types
+ true if all nested types that are reachable
+ from should also be included.
+ If is null
+
+
+
+ Resets the cache (clears all cached elements). Use this method if the cache is
+ enabled but some of the types have been modified (eg. removed, added, renamed).
+
+
+
+
+
+
+
+
+
+
+ Gets the next or null if there are no more left
+
+ The next or null if none
+
+
+
+ Gets the next or null if there are no more left.
+ The cache is updated with the returned before the method
+ returns.
+
+ The next or null if none
+
+
+
+
+
+
+ Various helper methods for classes to prevent infinite recursion
+
+
+
+
+ Checks whether contains a or a
+ .
+
+ Calling convention signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Field signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Method or property signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Local signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Generic method signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Thrown by when it fails to parse a type name
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Helps create types
+
+
+
+
+ Finds a 's when the original assembly
+ info is missing from the full type name.
+
+ A non-nested
+ 's or null
+
+
+
+ Parses a type name and creates an
+
+
+
+ Owner module
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance or null if parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance or null if parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance or null if parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance or null if parsing failed
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+
+
+
+ Parses a type name and creates a
+
+ A new instance
+ If parsing failed
+
+
+
+ Parses a type name and creates a
+
+ A new instance
+ If parsing failed
+
+
+
+ Increment recursion counter
+
+ If this method has been called too many times
+
+
+
+ Decrement recursion counter
+
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Reads a including any possible nested s.
+
+ Character separating nested types
+ A new instance, which could be nested.
+
+
+
+ Reads a namespace and name and creates a TypeRef. Does not read any nested types.
+
+ A new instance
+
+
+
+ Peeks the next char. -1 if no more chars.
+
+
+
+
+ Gets the next char or -1 if no more chars
+
+
+
+
+ Gets the next ID char or -1 if no more ID chars
+
+ true if white space should be ignored
+
+
+
+ Parses reflection type names. Grammar http://msdn.microsoft.com/en-us/library/yfsftwz6.aspx
+
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+
+
+
+ Parses an assembly name
+
+ Full assembly name
+ A new instance or null if parsing failed
+
+
+
+ Parses an assembly name
+
+ Full assembly name
+ Generic parameter context
+ A new instance or null if parsing failed
+
+
+
+
+
+
+ A high-level representation of a row in the TypeRef table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always returns false since a does not contain any
+ or .
+
+
+
+
+
+
+
+ From column TypeRef.ResolutionScope
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ From column TypeRef.Name
+
+
+
+ Name
+
+
+
+ From column TypeRef.Namespace
+
+
+
+ Name
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if it's nested within another
+
+
+
+
+
+
+
+
+
+
+ Gets the declaring type, if any
+
+
+
+
+
+
+
+ Resolves the type
+
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ The module that needs to resolve the type or null
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Resolves the type
+
+ The module that needs to resolve the type or null
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Gets the top-most (non-nested)
+
+ Input
+ The non-nested or null
+
+
+
+
+
+
+ A TypeRef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+ Type name
+
+
+
+ Constructor
+
+ Owner module
+ Type namespace
+ Type name
+
+
+
+ Constructor
+
+ Owner module
+ Type namespace
+ Type name
+ Resolution scope (a ,
+ , or )
+
+
+
+ Created from a row in the TypeRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this TypeRef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Type sig base class
+
+
+
+
+ Returns the wrapped element type. Can only be null if it was an invalid sig or
+ if it's a
+
+
+
+
+ Gets the element type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a or a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if this contains a or a
+ .
+
+
+
+
+
+
+
+ Base class for element types that are last in a type sig, ie.,
+ , , ,
+ ,
+
+
+
+
+
+
+
+ Wraps a
+
+
+
+
+ Gets the the TypeDefOrRef
+
+
+
+
+ Returns true if != null
+
+
+
+
+ Returns true if != null
+
+
+
+
+ Returns true if != null
+
+
+
+
+ Gets the or null if it's not a
+
+
+
+
+ Gets the or null if it's not a
+
+
+
+
+ Gets the or null if it's not a
+
+
+
+
+ Constructor
+
+ A , or
+ a
+
+
+
+ A core library type
+
+
+
+
+ Gets the element type
+
+
+
+
+ Constructor
+
+ The type which must be a or a
+ . and null are not allowed.
+ The type's element type
+
+
+
+ Base class for class/valuetype element types
+
+
+
+
+ Constructor
+
+ A
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ A
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ A
+
+
+
+ Generic method/type var base class
+
+
+
+
+ true if it has an owner or
+
+
+
+
+ true if it has an owner ( is
+ not null)
+
+
+
+
+ true if it has an owner ( is
+ not null)
+
+
+
+
+ Gets the owner type or null if the owner is a or if it
+ has no owner.
+
+
+
+
+ Gets the owner method or null if the owner is a or if it
+ has no owner.
+
+
+
+
+ Gets the generic param number
+
+
+
+
+ Gets the corresponding or null if none exists.
+
+
+
+
+ Constructor
+
+ true if it's a Var, false if it's a MVar
+ Generic param number
+
+
+
+ Constructor
+
+ true if it's a Var, false if it's a MVar
+ Generic param number
+ Owner method/type or null
+
+
+
+ Returns true if it's a MVar element type
+
+
+
+
+ Returns true if it's a Var element type
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner type or null
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner type or null
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner method or null
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner method or null
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets the signature
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+ The method signature
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets the generic type
+
+
+
+
+ Gets the generic arguments (it's never null)
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The generic type
+
+
+
+ Constructor
+
+ The generic type
+ Number of generic arguments
+
+
+
+ Constructor
+
+ The generic type
+ Number of generic arguments
+
+
+
+ Constructor
+
+ The generic type
+ Generic argument #1
+
+
+
+ Constructor
+
+ The generic type
+ Generic argument #1
+ Generic argument #2
+
+
+
+ Constructor
+
+ The generic type
+ Generic argument #1
+ Generic argument #2
+ Generic argument #3
+
+
+
+ Constructor
+
+ The generic type
+ Generic arguments
+
+
+
+ Constructor
+
+ The generic type
+ Generic arguments
+
+
+
+ Base class of non-leaf element types
+
+
+
+
+
+
+
+ Constructor
+
+ Next sig
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+ Array base class
+
+
+
+
+ Constructor
+
+ Array type
+
+
+
+ true if it's a multi-dimensional array (i.e., ),
+ and false if it's a single-dimensional array (i.e., )
+
+
+
+
+
+ true if it's a single-dimensional array (i.e., ),
+ and false if it's a multi-dimensional array (i.e., )
+
+
+
+
+
+ Gets/sets the rank (number of dimensions). This can only be set if
+ is true
+
+
+
+
+ Gets all sizes. If it's a , then it will be an empty temporary
+ list that is re-created every time this method is called.
+
+ A list of sizes
+
+
+
+ Gets all lower bounds. If it's a , then it will be an empty
+ temporary list that is re-created every time this method is called.
+
+ A list of lower bounds
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+ Gets/sets the rank (max value is 0x1FFFFFFF)
+
+
+
+
+ Gets all sizes (max elements is 0x1FFFFFFF)
+
+
+
+
+ Gets all lower bounds (max elements is 0x1FFFFFFF)
+
+
+
+
+ Constructor
+
+ Array type
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+ Sizes list. This instance will be the owner of this list.
+ Lower bounds list. This instance will be the owner of this list.
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+ Sizes list. This instance will be the owner of this list.
+ Lower bounds list. This instance will be the owner of this list.
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+ Sizes list. This instance will be the owner of this list.
+ Lower bounds list. This instance will be the owner of this list.
+
+
+
+
+
+
+
+
+
+ Represents a (single dimension, zero lower bound array)
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+
+
+
+
+
+
+ Base class for modifier type sigs
+
+
+
+
+ Returns the modifier type
+
+
+
+
+ Constructor
+
+ Modifier type
+ The next element type
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets/sets the size
+
+
+
+
+ Constructor
+
+ The next element type
+ Size of the array
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets/sets the index
+
+
+
+
+ Constructor
+
+ Index
+ The next element type
+
+
+
+ A high-level representation of a row in the TypeSpec table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column TypeSpec.Signature
+
+
+
+
+ Gets/sets the extra data that was found after the signature
+
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ A TypeSpec row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ A type sig
+
+
+
+ Created from a row in the TypeSpec table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this TypeSpec row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Compares s
+
+
+
+
+ The default instance
+
+
+
+
+
+
+
+
+
+
+ A UTF-8 encoded string where the original data is kept in memory to avoid conversions
+ when the data is not really valid UTF-8 encoded data
+
+ When comparing strings, a byte compare is performed. The reason is that this
+ is what the CLR does when comparing strings in the #Strings stream.
+
+
+
+ An empty
+
+
+
+
+ Gets the value as a UTF8 decoded string. Only use it for display purposes,
+ not for serialization.
+
+
+
+
+ Gets the original encoded data. Don't modify this data.
+
+
+
+
+ Gets the length of the this as a . I.e., it's the same as
+ String.Length.
+
+
+
+
+
+ Gets the length of the raw data. It's the same as Data.Length
+
+
+
+
+
+ Checks whether is null or if its data is null.
+
+ The instance to check
+ true if null or empty, false otherwise
+
+
+
+ Checks whether is null or if its data is null or the
+ data is zero length.
+
+ The instance to check
+ true if null or empty, false otherwise
+
+
+ Implicit conversion from to
+
+
+ Implicit conversion from to
+
+
+
+ Converts it to a
+
+ The UTF-8 string instace or null
+ A or null if is null
+
+
+
+ Converts it to a or an empty string if is null
+
+ The UTF-8 string instace or null
+ A (never null)
+
+
+
+ Gets the hash code of a
+
+ Input
+
+
+
+
+
+
+ Compares two instances (case sensitive)
+
+ Instance #1 or null
+ Instance #2 or null
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two instances (case insensitive)
+
+ Instance #1 or null
+ Instance #2 or null
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two instances (case insensitive)
+
+ Instance #1 or null
+ Instance #2 or null
+ true if equals, false otherwise
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+
+ Constructor
+
+ UTF-8 data that this instance now owns
+
+
+
+ Constructor
+
+ The string
+
+
+
+ Compares two instances
+
+ First
+ Second
+ true if equals, false otherwise
+
+
+
+
+
+
+
+
+
+ Checks whether exists in this string
+
+ Value to find
+ true if exists in string or is the
+ empty string, else false
+
+
+
+ Checks whether matches the end of this string
+
+ Value
+
+
+
+
+ Checks whether matches the end of this string
+
+ Value
+ true to ignore case
+ Culture info
+
+
+
+
+ Checks whether matches the end of this string
+
+ Value
+ Comparison type
+
+
+
+
+ Checks whether matches the beginning of this string
+
+ Value
+
+
+
+
+ Checks whether matches the beginning of this string
+
+ Value
+ true to ignore case
+ Culture info
+
+
+
+
+ Checks whether matches the beginning of this string
+
+ Value
+ Comparison type
+
+
+
+
+ Compares this instance with
+
+ Other string
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Returns the index of the first character in this string
+
+ Character
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first character in this string
+ starting from index
+
+ Character
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first character in this string
+ starting from index for max
+ characters.
+
+ Character
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+
+ String
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index
+
+ String
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index
+
+ String
+ Start index
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+
+ String
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last character in this string
+
+ Character
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last character in this string
+ starting from index
+
+ Character
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last character in this string
+ starting from index for max
+ characters.
+
+ Character
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+
+ String
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index
+
+ String
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index
+
+ String
+ Start index
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+
+ String
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Inserts string at a index
+
+ Start index
+ Value to insert
+ A new instance with the inserted at position
+
+
+
+
+ Removes all characters starting from position
+
+ Start index
+ A new instance
+
+
+
+ Removes characters starting from position
+
+
+ Start index
+ Number of characters to remove
+ A new instance
+
+
+
+ Replaces all characters with
+
+ Character to find
+ Character to replace all
+ A new instance
+
+
+
+ Replaces all sub strings with
+
+ Sub string to find
+ Sub string to replace all
+ A new instance
+
+
+
+ Returns a sub string of this string starting at offset
+
+ Start index
+ A new instance
+
+
+
+ Returns a sub string of this string starting at offset .
+ Length of sub string is .
+
+ Start index
+ Length of sub string
+ A new instance
+
+
+
+ Returns the lower case version of this string
+
+ A new instance
+
+
+
+ Returns the lower case version of this string
+
+ Culture info
+ A new instance
+
+
+
+ Returns the lower case version of this string using the invariant culture
+
+ A new instance
+
+
+
+ Returns the upper case version of this string
+
+ A new instance
+
+
+
+ Returns the upper case version of this string
+
+ Culture info
+ A new instance
+
+
+
+ Returns the upper case version of this string using the invariant culture
+
+ A new instance
+
+
+
+ Removes all leading and trailing whitespace characters
+
+ A new instance
+
+
+
+
+
+
+
+
+
+ Compares byte arrays
+
+
+
+
+ Default instance
+
+
+
+
+
+
+
+
+
+
+ Returns an assembly name string
+
+ Simple assembly name
+ Version or null
+ Culture or null
+ Public key / public key token or null
+ Assembly attributes
+ An assembly name string
+
+
+
+ Convert a byte[] to a
+
+ All bytes
+ true if output should be in upper case hex
+ as a hex string
+
+
+
+ Converts a hex string to a byte[]
+
+ A string with an even number of hex characters
+ converted to a byte[] or null
+ if is invalid
+
+
+
+ Converts a character to a hex digit
+
+ Hex character
+ 0x00-0x0F if successful, -1 if is not
+ a valid hex digit
+
+
+
+ Compares two byte arrays
+
+ Byte array #1
+ Byte array #2
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two byte arrays are equal
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a byte array
+
+ Byte array
+ The hash code
+
+
+
+ Compares two versions
+
+ This differs from if the build
+ and/or revision numbers haven't been initialized or if one of the args is null.
+
+ Version #1 or null to be treated as v0.0.0.0
+ Version #2 or null to be treated as v0.0.0.0
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two versions are the same
+
+ This differs from if the build
+ and/or revision numbers haven't been initialized or if one of the args is null.
+
+ Version #1 or null to be treated as v0.0.0.0
+ Version #2 or null to be treated as v0.0.0.0
+ true if same, false otherwise
+
+
+
+ Creates a new instance with no undefined version values (eg.
+ the build and revision values won't be -1).
+
+ A instance
+ A new instance
+
+
+
+ Parses a version string
+
+ Version string
+ A new or null if
+ is an invalid version
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a locale
+
+ Value
+ The hash code
+
+
+
+ Align up
+
+ Value
+ Alignment
+
+
+
+ Align up
+
+ Value
+ Alignment
+
+
+
+ Variant type (VT_XXX in the Windows SDK)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This wasn't present in the blob
+
+
+
+ All native vtables
+
+
+
+
+ Gets/sets the RVA of the vtable fixups
+
+
+
+
+ Gets all s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Module
+
+
+
+
+
+
+
+
+
+ See COR_VTABLE_XXX in CorHdr.h
+
+
+
+
+ 32-bit vtable slots
+
+
+
+
+ 64-bit vtable slots
+
+
+
+
+ Transition from unmanaged code
+
+
+
+
+ Also retain app domain
+
+
+
+
+ Call most derived method
+
+
+
+
+ One VTable accessed by native code
+
+
+
+
+ Gets/sets the of this vtable
+
+
+
+
+ Gets/sets the flags
+
+
+
+
+ true if each vtable slot is 32 bits in size
+
+
+
+
+ true if each vtable slot is 64 bits in size
+
+
+
+
+ Gets the vtable methods
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Flags
+
+
+
+ Constructor
+
+ RVA of this vtable
+ Flgas
+ Number of methods in vtable
+
+
+
+ Constructor
+
+ RVA of this vtable
+ Flgas
+ Vtable methods
+
+
+
+
+
+
+
+
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+ true if the returned type is a value type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+ true if the returned type is a value type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD member reference to a CLR member reference. Returns
+ null if it's not a CLR compatible WinMD member reference.
+
+ Owner module or null
+ Member reference
+
+
+
+
+ Converts WinMD method to a CLR member reference. Returns
+ null if it's not a CLR compatible WinMD method
+
+ Owner module or null
+ Method
+
+
+
+
+ WinMD status
+
+
+
+
+ This is not a WinMD file
+
+
+
+
+ This is a pure WinMD file (not managed)
+
+
+
+
+ This is a managed WinMD file (created by eg. winmdexp.exe)
+
+
+
+
+ Writes data
+
+
+
+
+ Gets the current position
+
+
+
+
+ Constructor
+
+ Destination array
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes bytes
+
+ Bytes
+
+
+
+ Writes bytes
+
+ Bytes
+ Source index
+ Number of bytes to write
+
+
+
+ #Blob heap
+
+
+
+
+
+
+
+ Populates blobs from an existing (eg. to preserve
+ blob offsets)
+
+ The #Blob stream with the original content
+
+
+
+ Adds data to the #Blob heap
+
+ The data
+ The offset of the data in the #Blob heap
+
+
+
+ Adds data to the #Blob heap, but does not re-use an existing position
+
+ The data
+ The offset of the data in the #Blob heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stores a byte array
+
+
+
+
+
+
+
+
+
+
+ Gets the data
+
+
+
+
+ Constructor
+
+ The data. It will be owned by this instance and can't be modified by
+ other code if this instance is inserted as a key in a dictionary (because
+ return value will be different if you modify the array). If
+ it's never inserted as a key in a dictionary, then the contents can be modified,
+ but shouldn't be resized after has been called.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Checksum algorithm
+
+
+
+
+ SHA-1
+
+
+
+
+ SHA-256
+
+
+
+
+ SHA-384
+
+
+
+
+ SHA-512
+
+
+
+
+ Contains a list of s
+
+
+
+
+ Default constructor
+
+
+
+
+ Add a
+
+ The chunk to add or null if none
+ Chunk alignment
+
+
+
+ Remove a
+
+ The chunk to remove or null if none
+ Alignment of the chunk, or null if the chunk cannot be removed.
+
+
+
+ Base class of chunk list types
+
+ Chunk type
+
+
+ All chunks
+
+
+ true if has been called
+
+
+
+ Helper struct
+
+
+
+ Data
+
+
+ Alignment
+
+
+
+ Constructor
+
+ Chunk
+ Alignment
+
+
+
+ Equality comparer for
+
+
+
+
+ Constructor
+
+ Compares the chunk type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Helps write custom attributes
+
+
+
+
+ Writes s
+
+
+
+
+ Writes a custom attribute
+
+ Helper class
+ The custom attribute
+ Custom attribute blob
+
+
+
+ Writes custom attribute named arguments
+
+ Helper class
+ Named arguments
+ The named args blob
+
+
+
+ Write a value
+
+ The ctor arg type, field type, or property type
+ The value to write
+
+
+
+ Gets the enum's underlying type
+
+ An enum type
+ The underlying type or null if we couldn't resolve the type ref
+
+
+
+ Converts to a , possibly resolving
+ a
+
+ The type
+ A or null if we couldn't resolve the
+ or if is a type spec
+
+
+
+
+
+
+ A chunk
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The data
+
+
+
+ Constructor
+
+ The data
+ Virtual size of
+
+
+
+ Constructor
+
+ The data
+
+
+
+ Constructor
+
+ The data
+ Virtual size of
+
+
+
+ Gets the data reader
+
+
+
+
+ Replaces the old data with new data. The new data must be the same size as the old data if
+ has been called. That method gets called after
+ event
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copies existing data to a new metadata heap
+
+
+
+
+ Gets the name of the heap
+
+
+
+
+ Constructor
+
+ The stream whose data will be copied to the new metadata file
+
+
+
+ Constructor
+
+ Heap name
+ Heap content
+
+
+
+
+
+
+
+
+
+ Writes data
+
+
+
+
+ Gets/sets the position
+
+
+
+
+ Constructor
+
+ Destination stream
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes bytes
+
+ Bytes to write
+
+
+
+ Writes bytes
+
+ Bytes to write
+ Index to start copying from
+ Number of bytes to copy
+
+
+
+ Writes a compressed
+
+ Value
+
+
+
+ Writes a compressed
+
+
+
+
+
+ Gets the size of a compressed , see
+
+ Value
+
+
+
+
+ Debug directory entry
+
+
+
+
+ Gets the header
+
+
+
+
+ Gets the data
+
+
+
+
+ Constructor
+
+ Data
+
+
+
+ Debug directory chunk
+
+
+
+ Default debug directory alignment
+
+
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+ Adds data
+
+ Data
+
+
+
+
+ Adds data
+
+ Data
+
+
+
+
+ Adds data
+
+ Data
+ Debug type
+ Major version
+ Minor version
+ Timestamp
+
+
+
+
+ Adds data
+
+ Data
+ Debug type
+ Major version
+ Minor version
+ Timestamp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Writes DeclSecurity blobs
+
+
+
+
+ Creates a DeclSecurity blob from
+
+ Owner module
+ List of s
+ Helps this class
+ A DeclSecurity blob
+
+
+
+ Creates a DeclSecurity blob from
+
+ Owner module
+ List of s
+ Helps this class
+ Optimize serialized type strings in custom attributes.
+ For more info, see
+ A DeclSecurity blob
+
+
+
+ Extension methods
+
+
+
+
+ Write zeros
+
+ this
+ Number of zeros
+
+
+
+ Writes all data to and verifies that all bytes were written
+
+ this
+ Destination
+ Not all bytes were written
+
+
+
+ Writes a data directory
+
+ Writer
+ The data
+
+
+
+ #GUID heap
+
+
+
+
+
+
+
+ Adds a guid to the #GUID heap
+
+ The guid
+ The index of the guid in the #GUID heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base class of most heaps
+
+
+
+
+ true if has been called
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true if offsets require 4 bytes instead of 2 bytes.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the raw length of the heap
+
+ Raw length of the heap
+
+
+
+
+
+
+ Writes all data to at its current location.
+
+ Destination
+
+
+
+
+
+
+ Data that gets written to the file
+
+
+
+
+ Gets the file offset. This is valid only after has been called.
+
+
+
+
+ Gets the RVA. This is valid only after has been called.
+
+
+
+
+ Called when the file offset and RVA are known
+
+ File offset of this chunk
+ RVA of this chunk
+
+
+
+ Gets the raw file length of this chunk. Must only be called after
+ has been called.
+
+ Length of this chunk
+
+
+
+ Gets the virtual size of this chunk. Must only be called after
+ has been called.
+
+ Virtual size of this chunk
+
+
+
+ Writes all data to at its current location. It's only
+ called after and have been called.
+ You cannot assume that 's file position is the same as this
+ chunk's file position.
+
+ Destination
+
+
+
+ Implemented by s that can reuse the old data location in the original PE file
+
+
+
+
+ Returns true if this chunk fits in the old location
+
+ Original RVA of data
+ Size of the original location
+
+
+
+
+ .NET Heap interface
+
+
+
+
+ Gets the name of the heap
+
+
+
+
+ Checks whether the heap is empty
+
+
+
+
+ Called when the heap should be set to read-only mode
+
+
+
+
+ Options to
+
+
+
+
+ Default major runtime version
+
+
+
+
+ Default minor runtime version
+
+
+
+
+ Major runtime version
+
+
+
+
+ Minor runtime version
+
+
+
+
+ Flags
+
+
+
+
+ Entry point or null. Either a Method/File token or an RVA.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Flags
+
+
+
+ Constructor
+
+ Major runtime version (default is )
+ Minor runtime version (default is )
+ Flags
+
+
+
+ .NET header
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the .NET resources
+
+
+
+
+ Gets/sets the strong name signature
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Import address table chunk
+
+
+
+
+ Gets/sets the
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ true if it's a 64-bit PE file, false if it's a 32-bit PE file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Import directory chunk
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets the RVA of _CorDllMain/_CorExeMain in the import lookup table
+
+
+
+
+ Gets RVA of _CorExeMain/_CorDllMain in the IAT
+
+
+
+
+ Gets/sets a value indicating whether this is a EXE or a DLL file
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the name of the dll which should be imported.
+
+
+
+
+ Gets/sets the name of the entry point of the imported dll.
+
+
+
+
+ Constructor
+
+ true if it's a 64-bit PE file, false if it's a 32-bit PE file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Interface to get and set raw heap data. Implemented by the offset heaps: #Strings,
+ #GUID, #Blob, and #US.
+
+ Type of cooked data
+
+
+
+ Gets the size of the data as raw data when written to the heap
+
+ The data
+ Size of the data as raw data when written to the heap
+
+
+
+ Overrides what value should be written to the heap.
+
+ Offset of value. Must match an offset returned by
+
+ The new raw data. The size must match the raw size exactly.
+
+
+
+ Gets all inserted raw data and their offsets. The returned array
+ is owned by the caller.
+
+ An enumerable of all raw data and their offsets
+
+
+
+ Gets notified of errors. The default handler should normally throw since the written data
+ will probably be invalid. Any error can be ignored.
+
+
+
+
+ Called when an error is detected (eg. a null pointer or other invalid value). The error
+ can be ignored but the written data won't be valid.
+
+ Error message
+
+
+
+ Writes the .sdata blob. We could write the data in any order, but we write the data in the same order as ILASM
+
+ PE timestamp
+
+
+
+ Writes field marshal blobs
+
+
+
+
+ Creates a field marshal blob from
+
+ Owner module
+ Marshal type
+ Helps this class
+ A field marshal blob or null if is
+ null
+
+
+
+ Creates a field marshal blob from
+
+ Owner module
+ Marshal type
+ Helps this class
+ Optimize serialized type strings in custom attributes.
+ For more info, see
+ A field marshal blob or null if is
+ null
+
+
+
+
+
+
+ Calculates max stack usage by using a simple pass over all instructions. This value
+ can be placed in the fat method header's MaxStack field.
+
+
+
+
+ Gets max stack value
+
+ All instructions
+ All exception handlers
+ Max stack value
+
+
+
+ Gets max stack value
+
+ All instructions
+ All exception handlers
+ Updated with max stack value
+ true if no errors were detected, false otherwise
+
+
+
+ MD table interface
+
+
+
+
+ Gets the table type
+
+
+
+
+ true if the table is empty
+
+
+
+
+ Gets the number of rows in this table
+
+
+
+
+ Gets/sets a value indicating whether it's sorted
+
+
+
+
+ true if has been called
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Called when the table can't be modified any more
+
+
+
+
+ Creates rows in a table. Rows can optionally be shared to create a compact table.
+
+ The raw row type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the value with rid
+
+ The row ID
+
+
+
+ Constructor
+
+ The table type
+ Equality comparer
+
+
+
+
+
+
+ Adds a row. If the row already exists, returns a rid to the existing one, else
+ it's created and a new rid is returned.
+
+ The row. It's now owned by us and must NOT be modified by the caller.
+ The RID (row ID) of the row
+
+
+
+ Creates a new row even if this row already exists.
+
+ The row. It's now owned by us and must NOT be modified by the caller.
+ The RID (row ID) of the row
+
+
+
+ Re-adds all added rows. Should be called if rows have been modified after being
+ inserted.
+
+
+
+
+ Reset the table.
+
+
+
+
+ Writes s
+
+
+
+
+ Writes a Module table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a TypeRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a TypeDef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Field table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Method table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ParamPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Param table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a InterfaceImpl table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MemberRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Constant table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a CustomAttribute table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldMarshal table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a DeclSecurity table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ClassLayout table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldLayout table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a StandAloneSig table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a EventMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a EventPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Event table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a PropertyMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a PropertyPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Property table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodSemantics table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodImpl table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ModuleRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a TypeSpec table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ImplMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldRVA table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ENCLog table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ENCMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Assembly table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyProcessor table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyOS table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyRefProcessor table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyRefOS table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a File table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ExportedType table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ManifestResource table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a NestedClass table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a GenericParam table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodSpec table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a GenericParamConstraint table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Document table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodDebugInformation table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a LocalScope table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a LocalVariable table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a LocalConstant table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ImportScope table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a StateMachineMethod table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a CustomDebugInformation table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ flags
+
+
+
+
+ Preserves all rids in the TypeRef table
+
+
+
+
+ Preserves all rids in the TypeDef table
+
+
+
+
+ Preserves all rids in the Field table
+
+
+
+
+ Preserves all rids in the Method table
+
+
+
+
+ Preserves all rids in the Param table
+
+
+
+
+ Preserves all rids in the MemberRef table
+
+
+
+
+ Preserves all rids in the StandAloneSig table
+
+
+
+
+ Preserves all rids in the Event table
+
+
+
+
+ Preserves all rids in the Property table
+
+
+
+
+ Preserves all rids in the TypeSpec table
+
+
+
+
+ Preserves all rids in the MethodSpec table
+
+
+
+
+ Preserves all method rids, i.e., Method, MemberRef and
+ MethodSpec rids.
+
+
+
+
+ Preserves all rids in the following tables: TypeRef, TypeDef,
+ Field, Method, Param, MemberRef, StandAloneSig,
+ Event, Property, TypeSpec, MethodSpec
+
+
+
+
+ Preserves all offsets in the #Strings heap (the original #Strings heap will be saved
+ in the new file). Type names, field names, and other non-user strings are stored
+ in the #Strings heap.
+
+
+
+
+ Preserves all offsets in the #US heap (the original #US heap will be saved
+ in the new file). User strings (referenced by the ldstr instruction) are stored in
+ the #US heap.
+
+
+
+
+ Preserves all offsets in the #Blob heap (the original #Blob heap will be saved
+ in the new file). Custom attributes, signatures and other blobs are stored in the
+ #Blob heap.
+
+
+
+
+ Preserves the extra data that is present after the original signature in the #Blob
+ heap. This extra data shouldn't be present but might be present if an obfuscator
+ has added this extra data and is eg. using it to decrypt stuff.
+
+
+
+
+ Preserves as much as possible
+
+
+
+
+ The original method body's max stack field should be used and a new one should not
+ be calculated.
+
+
+
+
+ Always create the #GUID heap even if it's empty
+
+
+
+
+ Always create the #Strings heap even if it's empty
+
+
+
+
+ Always create the #US heap even if it's empty
+
+
+
+
+ Always create the #Blob heap even if it's empty
+
+
+
+
+ Sort the InterfaceImpl table the same way Roslyn sorts it. Roslyn doesn't sort it
+ according to the ECMA spec, see https://github.com/dotnet/roslyn/issues/3905
+
+
+
+
+ Don't write method bodies
+
+
+
+
+ Don't write .NET resources
+
+
+
+
+ Don't write field data
+
+
+
+
+ Serialized type names stored in custom attributes are optimized if the types
+ exist in the core library (eg. mscorlib/System.Private.CoreLib).
+ Instead of storing type-name + assembly-name, only type-name is stored. This results in
+ slightly smaller assemblies.
+
+
+ If it's a type in the current module, the type name is optimized and no assembly name is stored in the custom attribute.
+
+
+ This is disabled by default. It's safe to enable if the reference core assembly
+ is the same as the runtime core assembly (eg. it's mscorlib.dll and .NET Framework,
+ but not .NET Core / .NET Standard).
+
+
+
+
+ Metadata heaps event args
+
+
+
+
+ Gets the metadata writer
+
+
+
+
+ Gets all heaps
+
+
+
+
+ Constructor
+
+ Metadata writer
+ All heaps
+
+
+
+ options
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the debug (portable PDB) options. This is never null.
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the debug (portable PDB) options. This is never null.
+
+
+
+
+ Various options
+
+
+
+
+ Extra heaps to add to the metadata. Also see and
+
+
+
+
+ Raised after all heaps have been added. The caller can sort the list if needed
+
+
+
+
+ Preserves the original order of heaps, and optionally adds all custom heaps to .
+
+ Original module with the heaps
+ If true, all custom streams are added to
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Flags
+
+
+
+ Constructor
+
+ Meta data header options
+
+
+
+ Constructor
+
+ Meta data header options
+ Flags
+
+
+
+ Portable PDB metadata kind
+
+
+
+
+ No debugging metadata
+
+
+
+
+ Standalone / embedded portable PDB metadata
+
+
+
+
+ Metadata writer event args
+
+
+
+
+ Gets the metadata writer
+
+
+
+
+ Gets the event
+
+
+
+
+ Constructor
+
+ Writer
+ Event
+
+
+
+ Metadata writer progress event args
+
+
+
+
+ Gets the metadata writer
+
+
+
+
+ Gets the progress, 0.0 - 1.0
+
+
+
+
+ Constructor
+
+ Writer
+ Progress, 0.0 - 1.0
+
+
+
+ .NET meta data
+
+
+
+
+ Raised at various times when writing the metadata
+
+
+
+
+ Raised when the progress is updated
+
+
+
+
+ Gets/sets the logger
+
+
+
+
+ Gets the module
+
+
+
+
+ Gets the constants
+
+
+
+
+ Gets the method body chunks
+
+
+
+
+ Gets the .NET resources
+
+
+
+
+ Gets the MD header
+
+
+
+
+ Gets the tables heap. Access to this heap is not recommended, but is useful if you
+ want to add random table entries.
+
+
+
+
+ Gets the #Strings heap. Access to this heap is not recommended, but is useful if you
+ want to add random strings.
+
+
+
+
+ Gets the #US heap. Access to this heap is not recommended, but is useful if
+ you want to add random user strings.
+
+
+
+
+ Gets the #GUID heap. Access to this heap is not recommended, but is useful if you
+ want to add random GUIDs.
+
+
+
+
+ Gets the #Blob heap. Access to this heap is not recommended, but is useful if you
+ want to add random blobs.
+
+
+
+
+ Gets the #Pdb heap. It's only used if it's portable PDB metadata
+
+
+
+
+ Gets all exported methods
+
+
+
+
+ The public key that should be used instead of the one in .
+
+
+
+
+ Creates a instance
+
+ Module
+ Constants list
+ Method bodies list
+ .NET resources list
+ Options
+ Debug metadata kind
+ A new instance
+
+
+
+
+
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ If true, use the original Field RVAs. If it has no RVA, assume it's a new
+ field value and create a new Field RVA.
+
+
+
+
+ Gets the number of methods that will be written.
+
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the
+
+ Method
+ The or null if is
+ null or not a method defined in this module.
+
+
+
+ Gets a method's local variable signature token
+
+ Method
+ Locals sig token or 0
+
+
+
+ Gets the where the resource data will be stored
+
+ Embedded resource
+ A instance or null if
+ is invalid
+
+
+
+ Gets the where the initial value is stored
+
+ Field
+ A instance or null if
+ is invalid
+
+
+
+ Called when an error is detected
+
+ Error message
+ Optional message arguments
+
+
+
+ Called to warn of something
+
+ Warning message
+ Optional message arguments
+
+
+
+ Raises
+
+ Event
+
+
+
+ Raises the progress event
+
+ Base event
+ Sub progress
+
+
+
+ Creates the .NET metadata tables
+
+
+
+
+ Updates each Method row's RVA column if it has any code
+
+
+
+
+ Updates the FieldRVA rows
+
+
+
+
+ Initializes all TypeDef, Field, Method, Event,
+ Property and Param rows. Other tables that are related to these six
+ tables are also updated. No custom attributes are written yet, though. Method bodies
+ aren't written either.
+
+
+
+
+ Writes TypeDef, Field, Method, Event,
+ Property and Param custom attributes and custom debug infos.
+
+
+
+
+ Adds the tokens of all methods in all vtables, if any
+
+
+
+
+ Adds the entry point. It's only needed if it's a since if it's
+ a , it will have already been added.
+
+
+
+
+ Sorts all unsorted tables except GenericParamConstraint and CustomAttribute
+
+
+
+
+ Initializes the GenericParamConstraint table
+
+
+
+
+ Inserts all custom attribute / custom debug info rows in the tables and sort them
+
+
+
+
+ Writes all method bodies
+
+
+
+
+ Checks whether a list is empty or whether it contains only nulls
+
+ Any type
+ The list
+ true if the list is empty or if it contains only nulls, false otherwise
+
+
+
+
+
+
+
+
+
+ Adds a
+
+ Method signature
+ Original StandAloneSig token or 0 if none
+ Its new rid
+
+
+
+ Adds a
+
+ FIeld signature
+ Original StandAloneSig token or 0 if none
+ Its new rid
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a NestedType row
+
+ Nested type
+ Declaring type
+
+
+
+ Adds a Module row
+
+ Module
+ Its new rid
+
+
+
+ Adds a ModuleRef row
+
+ Module ref
+ Its new rid
+
+
+
+ Adds an AssemblyRef row
+
+ Assembly ref
+ Its new rid
+
+
+
+ Adds an Assembly row
+
+ Assembly
+ The public key that should be used
+ Its new rid
+
+
+
+ Adds generic parameters
+
+ New token of owner
+ All generic params
+
+
+
+ Adds a generic param
+
+ New token of owner
+ Generic paramater
+
+
+
+ Adds generic parameter constraints
+
+ New rid of owner generic param
+ Its constraints
+
+
+
+ Adds a generic parameter constraint
+
+ New rid of owner generic param
+ Generic parameter constraint
+
+
+
+ Adds a InterfaceImpl row
+
+ New rid of owner
+ All interfaces
+
+
+
+ Adds a FieldLayout row
+
+ Owner field
+
+
+
+ Adds a FieldMarshal row
+
+ New owner token
+ Owner
+
+
+
+ Adds a FieldRVA row
+
+ The field
+
+
+
+ Adds a ImplMap row
+
+ New owner token
+ Owner
+
+
+
+ Adds a Constant row
+
+ New owner token
+ Owner
+
+
+
+ Adds a DeclSecurity row
+
+ New owner token
+ All DeclSecurity rows
+
+
+
+ Adds MethodSemantics rows
+
+ Event
+
+
+
+ Adds MethodSemantics rows
+
+ Property
+
+
+
+ Adds a ClassLayout row
+
+ Type
+
+
+
+ Adds a File row
+
+ File
+ Its new rid
+
+
+
+ Adds a ExportedType row
+
+ Exported type
+ Its new rid
+
+
+
+ Gets a #Blob offset of a type signature
+
+ Type sig
+ Extra data to append the signature if
+ is true.
+ #Blob offset
+
+
+
+ Gets a #Blob offset of a calling convention signature
+
+ Signature
+ #Blob offset
+
+
+
+ Adds a CustomAttribute row
+
+ Owner table
+ New owner rid
+ Onwer
+
+
+
+ Adds a CustomDebugInformation row
+
+ Owner table
+ New owner rid
+ Onwer
+
+
+
+ Writes the portable PDB to .
+
+ Output stream
+ Entry point token
+ Updated with the offset of the 20-byte PDB ID. The caller is responsible for initializing it with the PDB ID
+
+
+
+
+
+
+
+
+
+
+
+
+ Called before any other methods
+
+
+
+
+ Gets all s that should be saved in the meta data
+
+
+
+
+ Initializes TypeDef rids and creates raw rows, but does not initialize
+ any columns.
+
+
+
+
+ Allocates Field, Method, Property, Event, Param:
+ rid and raw row, but doesn't initialize the raw row.
+ Initializes TypeDef columns: FieldList, MethodList.
+ Initializes Method column: ParamList.
+ Initializes and .
+
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Type reference
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Type spec
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Member ref
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Stand alone sig
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Method spec
+ Its new rid
+
+
+
+ Called before sorting the CustomAttribute table. This is the last time anything
+ can be inserted into this table.
+
+
+
+
+ Called after everything has been initialized. The sub class can initialize more
+ rows if necessary or do nothing. After this method has been called, nothing else
+ can be added.
+
+
+
+
+ Should be called before all chunks get an RVA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sorts the s
+
+ All s
+ A sorted list
+
+
+
+ All events
+
+
+
+
+ Creating the tables has just begun
+
+
+
+
+ Before allocating all TypeDef RIDs
+
+
+
+
+ Before allocating all MemberDef RIDs
+
+
+
+
+ The rids of types, fields, methods, events, properties and parameters are
+ now known.
+
+
+
+
+ The tables and rows of all types, fields, methods, events, properties and parameters
+ have been initialized. Method body RVAs are still not known, and no method has been
+ written yet.
+
+
+
+
+ Before sorting most tables
+
+
+
+
+ Most of the tables that should be sorted have been sorted. The CustomAttribute
+ table is still unsorted since it's not been created yet.
+
+
+
+
+ Custom attributes of all types, fields, methods, events, properties and parameters
+ have now been written.
+
+
+
+
+ All resources are about to be added to the .NET resources table
+
+
+
+
+ All resources have been added to the .NET resources table
+
+
+
+
+ All method bodies are about to be written
+
+
+
+
+ All method bodies have been written. Their RVAs are still not known.
+
+
+
+
+ All tables are now sorted, including the CustomAttribute table.
+
+
+
+
+ All tables have been created and all rows populated. The only columns that haven't
+ been initialized yet are the ones that are RVAs.
+
+
+
+
+ options
+
+
+
+
+ Default version string
+
+
+
+
+ Default header signature
+
+
+
+
+ MD header signature. Default value is
+
+
+
+
+ Major version. Default is 1. MS' CLR supports v0.x (x >= 19) and v1.1, nothing else.
+
+
+
+
+ Minor version. Default is 1.
+
+
+
+
+ Reserved and should be 0.
+
+
+
+
+ Version string. Default is . It's stored as a
+ zero-terminated UTF-8 string. Length should be <= 255 bytes.
+
+
+
+
+ Storage flags should be 0
+
+
+
+
+ Reserved and should be 0
+
+
+
+
+ Creates portable PDB v1.0 options
+
+
+
+
+
+ Meta data header. IMAGE_COR20_HEADER.Metadata points to this header.
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the heaps
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method body chunk
+
+
+
+
+
+
+
+
+
+
+ Gets the code
+
+
+
+
+ Gets the extra sections (exception handlers) or null
+
+
+
+
+ Gets the token of the locals
+
+
+
+
+ true if it's a fat body
+
+
+
+
+ true if it's a tiny body
+
+
+
+
+ true if there's an extra section
+
+
+
+
+ Constructor
+
+ Code
+
+
+
+ Constructor
+
+ Code
+ Extra sections or null
+
+
+
+ Constructor
+
+ Code
+ Extra sections or null
+ Token of locals
+
+
+
+ Gets the approximate size of the method body (code + exception handlers)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stores all method body chunks
+
+
+
+
+
+
+
+
+
+
+ Gets the number of bytes saved by re-using method bodies
+
+
+
+
+ Constructor
+
+ true if bodies can be shared
+
+
+
+ Adds a and returns the one that has been cached
+
+ The method body
+ The cached method body
+
+
+ Removes the specified method body from this chunk
+ The method body
+ if the method body is removed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns tokens of token types, strings and signatures
+
+
+
+
+ Gets the token of
+
+ A token type or a string or a signature
+ The token
+
+
+
+ Gets a StandAloneSig token
+
+ All locals
+ The original token or 0 if none
+ A StandAloneSig token or 0 if is
+ empty.
+
+
+
+ Writes CIL method bodies
+
+
+
+
+ Gets the code as a byte array. This is valid only after calling .
+ The size of this array is not necessarily a multiple of 4, even if there are exception
+ handlers present. See also
+
+
+
+
+ Gets the extra sections (exception handlers) as a byte array or null if there
+ are no exception handlers. This is valid only after calling
+
+
+
+
+ Gets the token of the locals
+
+
+
+
+ Constructor
+
+ Helps this instance
+ The CIL method body
+
+
+
+ Constructor
+
+ Helps this instance
+ The CIL method body
+ Keep the original max stack value that has been initialized
+ in
+
+
+
+ Writes the method body
+
+
+
+
+ Gets the code and (possible) exception handlers in one array. The exception handlers
+ are 4-byte aligned.
+
+ The code and any exception handlers
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base class of all CIL method body writers
+
+
+
+
+
+
+
+
+
+
+ true if there was at least one error
+
+
+
+
+ Constructor
+
+ All instructions
+ All exception handlers
+
+
+
+ Called when an error is detected (eg. a null pointer). The error can be
+ ignored but the method won't be valid.
+
+ Error message
+
+
+
+ Called when an error is detected (eg. a null pointer). The error can be
+ ignored but the method won't be valid.
+
+ Error message
+
+
+
+ Gets max stack value
+
+
+
+
+ Gets the offset of an instruction
+
+ The instruction
+ The offset or 0 if is null or not
+ present in the list of all instructions.
+
+
+
+ Initializes instruction offsets and returns the total code size
+
+ Size of code
+
+
+
+ Gets the size of an instruction
+
+ The instruction
+ Size of the instruction in bytes
+
+
+
+ Writes all instructions to at its current offset
+
+ The instruction writer
+ Number of bytes written
+
+
+
+ Gets the current offset in the instruction stream. This offset is relative to
+ the first written instruction.
+
+ The instruction writer
+ Current offset, relative to the first written instruction
+
+
+
+ Writes an instruction
+
+ The instruction writer
+ The instruction
+
+
+
+ Writes an instruction's opcode
+
+ The instruction writer
+ The instruction
+
+
+
+ Writes an instruction's operand
+
+ The instruction writer
+ The instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ options
+
+
+
+
+ Constructor
+
+ The module
+
+
+
+ Writes a .NET PE file. See also
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the writer options. This is never null
+
+
+
+
+ Gets all s. The reloc section must be the last section, so use if you need to append a section
+
+
+
+
+ Adds to the sections list, but before the reloc section which must be last
+
+ New section to add to the list
+
+
+
+ Gets the .text section
+
+
+
+
+ Gets the .sdata section
+
+
+
+
+ Gets the .rsrc section or null if none
+
+
+
+
+ Gets the .reloc section
+
+
+
+
+ Gets the PE headers
+
+
+
+
+ Gets the IAT or null if there's none
+
+
+
+
+ Gets the .NET header
+
+
+
+
+ Gets the import directory or null if there's none
+
+
+
+
+ Gets the startup stub or null if there's none
+
+
+
+
+ Gets the reloc directory or null if there's none
+
+
+
+
+ Constructor
+
+ The module
+
+
+
+ Constructor
+
+ The module
+ Options or null
+
+
+
+
+
+
+
+
+
+ Module writer event args
+
+
+
+
+ Gets the writer ( or )
+
+
+
+
+ Gets the event
+
+
+
+
+ Constructor
+
+ Writer
+ Event
+
+
+
+ Module writer progress event args
+
+
+
+
+ Gets the writer ( or )
+
+
+
+
+ Gets the progress, 0.0 - 1.0
+
+
+
+
+ Constructor
+
+ Writer
+ Progress, 0.0 - 1.0
+
+
+
+ Content ID
+
+
+
+
+ Gets the GUID
+
+
+
+
+ Gets the timestamp
+
+
+
+
+ Constructor
+
+ Guid
+ Timestamp
+
+
+
+ Event handler
+
+ Event args type
+ Sender
+ Event args
+
+
+
+ PDB writer options
+
+
+
+
+ No bit is set
+
+
+
+
+ Don't use Microsoft.DiaSymReader.Native. This is a NuGet package with an updated Windows PDB reader/writer implementation,
+ and if it's available at runtime, dnlib will try to use it. If this option is set, dnlib won't use it.
+ You have to add a reference to the NuGet package if you want to use it, dnlib has no reference to the NuGet package.
+
+ This is only used if it's a Windows PDB file.
+
+
+
+
+ Don't use diasymreader.dll's PDB writer that is shipped with .NET Framework.
+
+ This is only used if it's a Windows PDB file.
+
+
+
+
+ Create a deterministic PDB file and add a debug directory entry to the PE file.
+
+ It's ignored if the PDB writer doesn't support it.
+
+
+
+
+ Hash the PDB file and add a PDB checksum debug directory entry to the PE file.
+
+ It's ignored if the PDB writer doesn't support it.
+
+
+
+
+ Common module writer options base class
+
+
+
+
+ Raised at various times when writing the file. The listener has a chance to modify
+ the file, eg. add extra metadata, encrypt methods, etc.
+
+
+
+
+ Raised when the progress is updated
+
+
+
+
+ Gets/sets the logger. If this is null, any errors result in a
+ being thrown. To disable this behavior, either
+ create your own logger or use .
+
+
+
+
+ Gets/sets the writer logger. If this is null, use
+ .
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ If true, Win32 resources aren't written to the output
+
+
+
+
+ Gets/sets the Win32 resources. If this is null, use the module's
+ Win32 resources if any.
+
+
+
+
+ true to delay sign the assembly. Initialize to the
+ public key to use, and don't initialize . To generate the
+ public key from your strong name key file, execute sn -p mykey.snk mypublickey.snk
+
+
+
+
+ Gets/sets the strong name key. When you enhance strong name sign an assembly,
+ this instance's HashAlgorithm must be initialized to its public key's HashAlgorithm.
+ You should call
+ to initialize this property if you use normal strong name signing.
+ You should call
+ or
+ to initialize this property if you use enhanced strong name signing.
+
+
+
+
+ Gets/sets the new public key that should be used. If this is null, use
+ the public key generated from . If it is also null,
+ use the module's Assembly's public key.
+ You should call
+ or
+ to initialize this property if you use enhanced strong name signing.
+
+
+
+
+ true if method bodies can be shared (two or more method bodies can share the
+ same RVA), false if method bodies can't be shared. Don't enable it if there
+ must be a 1:1 relationship with method bodies and their RVAs.
+ This is enabled by default and results in smaller files.
+
+
+
+
+ true if the PE header CheckSum field should be updated, false if the
+ CheckSum field isn't updated.
+
+
+
+
+ true if it's a 64-bit module, false if it's a 32-bit or AnyCPU module.
+
+
+
+
+ Gets/sets the module kind
+
+
+
+
+ true if it should be written as an EXE file, false if it should be
+ written as a DLL file.
+
+
+
+
+ Set it to true to enable writing a PDB file. Default is false (a PDB file
+ won't be written to disk).
+
+
+
+
+ PDB writer options. This property is ignored if is false.
+
+
+
+
+ PDB file name. If it's null a PDB file with the same name as the output assembly
+ will be created but with a PDB extension. must be true or
+ this property is ignored.
+
+
+
+
+ PDB file name stored in the debug directory, or null to use
+
+
+
+
+ PDB stream. If this is initialized, then you should also set
+ to the name of the PDB file since the file name must be written to the PE debug directory.
+ must be true or this property is ignored.
+
+
+
+
+ Gets the PDB content id (portable PDBs). The argument is the PDB stream with the PDB ID zeroed out,
+ and the 2nd argument is the default timestamp.
+ This property is ignored if a deterministic PDB file is created or if the PDB checksum is calculated.
+
+
+
+
+ PDB checksum algorithm
+
+
+
+
+ true if an .mvid section should be added to the assembly. Not used by native module writer.
+
+
+
+
+ Constructor
+
+ The module
+
+
+
+ Initializes and
+ for normal strong name signing.
+
+ Module
+ Signature strong name key pair
+
+
+
+ Initializes and
+ for enhanced strong name signing (without key migration). See
+ http://msdn.microsoft.com/en-us/library/hh415055.aspx
+
+ Module
+ Signature strong name key pair
+ Signature public key
+
+
+
+ Initializes and
+ for enhanced strong name signing (with key migration). See
+ http://msdn.microsoft.com/en-us/library/hh415055.aspx
+
+ Module
+ Signature strong name key pair
+ Signature public key
+ Identity strong name key pair
+ Identity public key
+
+
+
+ Module writer base class
+
+
+
+ Default alignment of all constants
+
+
+ Default alignment of all method bodies
+
+
+ Default alignment of all .NET resources
+
+
+ Default alignment of the .NET metadata
+
+
+ Default Win32 resources alignment
+
+
+ Default strong name signature alignment
+
+
+ Default COR20 header alignment
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ Offset where the module is written. Usually 0.
+
+
+ Debug directory
+
+
+
+ Strong name signature
+
+
+
+
+ Returns the module writer options
+
+
+
+
+ Gets the destination stream
+
+
+
+
+ Gets the constants
+
+
+
+
+ Gets the method bodies
+
+
+
+
+ Gets the .NET resources
+
+
+
+
+ Gets the .NET metadata
+
+
+
+
+ Gets the Win32 resources or null if there's none
+
+
+
+
+ Gets the strong name signature or null if there's none
+
+
+
+
+ Gets all s. The reloc section must be the last section, so use if you need to append a section
+
+
+
+
+ Adds to the sections list, but before the reloc section which must be last
+
+ New section to add to the list
+
+
+
+ Gets the .text section
+
+
+
+
+ Gets the .rsrc section or null if there's none
+
+
+
+
+ Gets the debug directory or null if there's none
+
+
+
+
+ true if this is a , false if
+ this is a .
+
+
+
+
+ null if we're not writing a PDB
+
+
+
+
+ Writes the module to a file
+
+ File name. The file will be truncated if it exists.
+
+
+
+ Writes the module to a
+
+ Destination stream
+
+
+
+ Returns the module that is written
+
+
+
+
+ Writes the module to . Event listeners and
+ have been initialized when this method is called.
+
+ Number of bytes written
+
+
+
+ Creates the strong name signature if the module has one of the strong name flags
+ set or wants to sign the assembly.
+
+
+
+
+ Creates the .NET metadata chunks (constants, method bodies, .NET resources,
+ the metadata, and Win32 resources)
+
+
+
+
+
+ Gets the Win32 resources that should be written to the new image or null if none
+
+
+
+
+ Calculates and of all s
+
+ All chunks
+ Starting file offset
+ Starting RVA
+ File alignment
+ Section alignment
+
+
+
+ Writes all chunks to
+
+ The writer
+ All chunks
+ File offset of first chunk
+ File alignment
+
+
+
+ Strong name sign the assembly
+
+ Strong name signature offset
+
+
+
+ Creates the debug directory if a PDB file should be written
+
+
+
+
+ Write the PDB file. The caller should send the PDB events before and after calling this
+ method.
+
+
+
+
+ Gets the timestamp stored in the PE header
+
+
+
+
+
+ Raises a writer event
+
+ Event
+
+
+
+
+
+
+
+
+
+ Logs an error message
+
+ Format
+ Format args
+
+
+
+ Logs a warning message
+
+ Format
+ Format args
+
+
+
+ All / events
+
+
+
+
+ Writing has just begun
+
+
+
+
+ All PE sections have been created
+
+
+
+
+ All chunks have been created
+
+
+
+
+ All chunks have been added to their sections
+
+
+
+
+ Original event: .
+ Creating the metadata tables has just begun
+
+
+
+
+ Original event: .
+ Before allocating all TypeDef RIDs
+
+
+
+
+ Original event: .
+ Before allocating all MemberDef RIDs
+
+
+
+
+ Original event: .
+ The rids of types, fields, methods, events, properties and parameters are
+ now known.
+
+
+
+
+ Original event: .
+ The tables and rows of all types, fields, methods, events, properties and parameters
+ have been initialized. Method body RVAs are still not known, and no method has been
+ written yet.
+
+
+
+
+ Original event: .
+ Before sorting most tables
+
+
+
+
+ Original event: .
+ Most of the tables that should be sorted have been sorted. The CustomAttribute
+ table is still unsorted since it's not been created yet.
+
+
+
+
+ Original event: .
+ Custom attributes of all types, fields, methods, events, properties and parameters
+ have now been written.
+
+
+
+
+ Original event: .
+ All resources are about to be added to the .NET resources table
+
+
+
+
+ Original event: .
+ All resources have been added to the .NET resources table
+
+
+
+
+ Original event: .
+ All method bodies are about to be written
+
+
+
+
+ Original event: .
+ All method bodies have been written. Their RVAs are still not known.
+
+
+
+
+ Original event: .
+ All tables are now sorted, including the CustomAttribute table.
+
+
+
+
+ Original event: .
+ All tables have been created and all rows populated. The only columns that haven't
+ been initialized yet are the ones that are RVAs.
+
+
+
+
+ This event occurs before the PDB file is written. This event occurs even if no PDB file
+ will be written.
+
+
+
+
+ The PDB file has been written. This event occurs even if no PDB file has been written.
+
+
+
+
+ This event occurs just before all RVAs and file offsets of the chunks are calculated.
+
+
+
+
+ File offsets and RVAs of all chunks are now known. This includes method body and
+ field RVAs. Nothing has been written to the destination stream yet.
+
+
+
+
+ This event occurs before all chunks are written to the destination stream, and after
+ all RVAs and file offsets are known.
+
+
+
+
+ All chunks have been written to the destination stream.
+
+
+
+
+ This event occurs before the strong name signature is calculated. This event
+ occurs even if the assembly isn't strong name signed.
+
+
+
+
+ This event occurs after the strong name signature has been calculated. This event
+ occurs even if the assembly isn't strong name signed.
+
+
+
+
+ This event occurs before the checksum in the PE header is updated. This event
+ occurs even if the checksum isn't updated.
+
+
+
+
+ This event occurs after the checksum in the PE header has been updated. This event
+ occurs even if the checksum isn't updated.
+
+
+
+
+ Writing has ended
+
+
+
+
+ Thrown when the module writer encounters an unrecoverable error
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ Other exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ options
+
+
+
+
+ If true, any extra data after the PE data in the original file is also saved
+ at the end of the new file. Enable this option if some protector has written data to
+ the end of the file and uses it at runtime.
+
+
+
+
+ If true, keep the original Win32 resources
+
+
+
+
+ Constructor
+
+ Module
+ true to optimize the image size so it's as small as possible.
+ Since the file can contain native methods and other native data, we re-use the
+ original file when writing the new file. If is true,
+ we'll try to re-use the old method body locations in the original file and
+ also try to fit the new metadata in the old metadata location.
+
+
+
+ A module writer that supports saving mixed-mode modules (modules with native code).
+ The original image will be re-used. See also
+
+
+
+ The original .NET module
+
+
+ All options
+
+
+
+ Any extra data found at the end of the original file. This is null if there's
+ no extra data or if is
+ false.
+
+
+
+ The original PE sections and their data
+
+
+ Original PE image
+
+
+ New sections we've added and their data
+
+
+ New .text section where we put some stuff, eg. .NET metadata
+
+
+ The new COR20 header
+
+
+
+ New .rsrc section where we put the new Win32 resources. This is null if there
+ are no Win32 resources or if
+ is true
+
+
+
+
+ Offset in of the PE checksum field.
+
+
+
+
+ Original PE section
+
+
+
+ PE section
+
+
+ PE section data
+
+
+
+ Constructor
+
+ PE section
+
+
+
+
+
+
+
+
+
+ Gets the module
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the writer options. This is never null
+
+
+
+
+ Gets all s
+
+
+
+
+ Gets the original PE sections and their data
+
+
+
+
+ Gets the .text section
+
+
+
+
+ Gets the .rsrc section or null if there's none
+
+
+
+
+ Constructor
+
+ The module
+ Options or null
+
+
+
+
+
+
+
+
+
+ Gets the raw section data of the image. The sections are saved in
+ .
+
+
+
+
+ Creates the PE header "section"
+
+
+
+
+ Saves any data that is appended to the original PE file
+
+
+
+
+ true if image is 64-bit
+
+
+
+
+ Updates the PE header and COR20 header fields that need updating. All sections are
+ also updated, and the new ones are added.
+
+
+
+
+ Converts to a file offset in the destination stream
+
+ RVA
+
+
+
+ Gets the entry point
+
+ Updated with entry point (either a token or RVA of native method)
+ true if it's a managed entry point or there's no entry point,
+ false if it's a native entry point
+
+
+
+ .NET resources
+
+
+
+
+
+
+
+
+
+
+ Gets offset of next resource. This offset is relative to the start of
+ the .NET resources and is always aligned.
+
+
+
+
+ Constructor
+
+ Alignment of all resources
+
+
+
+ Adds a resource
+
+ The resource data
+ The resource data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Does not preserve metadata tokens
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #Pdb heap
+
+
+
+
+
+
+
+ Gets the PDB ID. This is always 20 bytes in size.
+
+
+
+
+ Gets/sets the entry point token
+
+
+
+
+ Gets the offset of the 20-byte PDB ID
+
+
+
+
+ Gets/sets the referenced type system tables
+
+
+
+
+ Gets the type system table rows. This table has 64 elements.
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+ options
+
+
+
+
+ Default DLL characteristics
+
+
+
+
+ Default subsystem value
+
+
+
+
+ Default major linker version. Roslyn C# defaults to 0x30, and Roslyn VB defaults to 0x50.
+
+
+
+
+ Default minor linker version
+
+
+
+
+ IMAGE_FILE_HEADER.Machine value
+
+
+
+
+ IMAGE_FILE_HEADER.TimeDateStamp value
+
+
+
+
+ IMAGE_FILE_HEADER.PointerToSymbolTable value
+
+
+
+
+ IMAGE_FILE_HEADER.NumberOfSymbols value
+
+
+
+
+ IMAGE_FILE_HEADER.Characteristics value. bit
+ is ignored and set/cleared depending on whether it's a EXE or a DLL file.
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorLinkerVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorLinkerVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.ImageBase value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SectionAlignment value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.FileAlignment value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorOperatingSystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorOperatingSystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorImageVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorImageVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorSubsystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorSubsystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.Win32VersionValue value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.Subsystem value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.DllCharacteristics value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfStackReserve value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfStackCommit value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfHeapReserve value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfHeapCommit value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.LoaderFlags value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.NumberOfRvaAndSizes value
+
+
+
+
+ Creates a new time date stamp using current time
+
+ A new time date stamp
+
+
+
+ DOS and PE headers
+
+
+
+
+ Gets/sets the native entry point
+
+
+
+
+ Gets/sets the COR20 header
+
+
+
+
+ Gets/sets the IAT
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the Win32 resources
+
+
+
+
+ Gets/sets the relocation directory
+
+
+
+
+ Gets/sets the debug directory
+
+
+
+
+ Gets the image base
+
+
+
+
+ Gets/sets a value indicating whether this is a EXE or a DLL file
+
+
+
+
+
+
+
+
+
+
+ Gets the section alignment
+
+
+
+
+ Gets the file alignment
+
+
+
+
+ Gets/sets the s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Calculates the PE checksum and writes it to the checksum field
+
+ Writer
+ Length of PE file
+
+
+
+ A PE section
+
+
+
+
+ Gets the name
+
+
+
+
+ Gets the Characteristics
+
+
+
+
+ true if this is a code section
+
+
+
+
+ true if this is an initialized data section
+
+
+
+
+ true if this is an uninitialized data section
+
+
+
+
+ Constructor
+
+ Section name
+ Section characteristics
+
+
+
+ Writes the section header to at its current position.
+ Returns aligned virtual size (aligned to )
+
+ Writer
+ File alignment
+ Section alignment
+ Current
+
+
+
+ Preserves metadata tokens
+
+
+
+
+ Its real rid
+
+
+
+
+ Its logical rid or real rid. If the ptr table exists (eg. MethodPtr), then it's
+ an index into it, else it's the real rid.
+
+
+
+
+ Gets total number of defs in the list. It does not necessarily return
+ the table size. Use for that.
+
+
+
+
+ Gets the number of rows that need to be created in the table
+
+
+
+
+ Returns true if the ptr table (eg. MethodPtr) is needed
+
+
+
+
+ Sorts the table
+
+ Comparer
+
+
+
+ Adds a def. must be called after adding the last def.
+
+ The def
+ Collection position
+
+
+
+ Must be called after 'ing the last def
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reserves rows in TypeRef, MemberRef, StandAloneSig,
+ TypeSpec and MethodSpec where we will store the original rows
+ to make sure they get the same rid. Any user created rows will be stored at
+ the end of each table.
+
+
+
+
+ Adds any non-referenced rows that haven't been added yet but are present in
+ the original file. If there are any non-referenced rows, it's usually a sign
+ that an obfuscator has encrypted one or more methods or that it has added
+ some rows it uses to decrypt something.
+
+
+
+
+
+
+
+ Re-uses all Field rows which aren't owned by any type due to the fields
+ having been deleted by the user. The reason we must do this is that the
+ FieldPtr and Field tables must be the same size.
+
+
+
+
+ Re-uses all Method rows which aren't owned by any type due to the methods
+ having been deleted by the user. The reason we must do this is that the
+ MethodPtr and Method tables must be the same size.
+
+
+
+
+ Re-uses all Param rows which aren't owned by any type due to the params
+ having been deleted by the user. The reason we must do this is that the
+ ParamPtr and Param tables must be the same size.
+ This method must be called after since
+ this method will create more methods at the end of the Method table.
+
+
+
+
+ Re-uses all Event rows which aren't owned by any type due to the events
+ having been deleted by the user. The reason we must do this is that the
+ EventPtr and Event tables must be the same size.
+
+
+
+
+ Re-uses all Property rows which aren't owned by any type due to the properties
+ having been deleted by the user. The reason we must do this is that the
+ PropertyPtr and Property tables must be the same size.
+
+
+
+
+ Creates a dummy TypeDef at the end of the TypeDef table that will own
+ dummy methods and fields. These dummy methods and fields are only created if the size
+ of the ptr table is less than the size of the non-ptr table (eg. size MethodPtr table
+ is less than size Method table). The only reason the ptr table would be smaller than
+ the non-ptr table is when some field/method has been deleted and we must preserve
+ all method/field rids.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Relocations directory
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Machine
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adds a relocation
+
+ RVA of location
+
+
+
+ Adds a relocation
+
+ Chunk or null. If it's null, is the RVA
+ Offset relative to the start of , or if is null, this is the RVA
+
+
+
+ Length of section
+
+
+
+
+ Section characteristics
+
+
+
+
+ Constructor
+
+ Length of section
+ Section characteristics
+
+
+
+ Calculates the optional header section sizes
+
+
+
+
+ Helps map s to tokens
+
+
+
+
+ Returns a TypeDefOrRef encoded token
+
+ A TypeDefOrRef type
+
+
+
+ Writes signatures
+
+
+
+
+ Write a signature
+
+ Helper
+ The type
+ The signature as a byte array
+
+
+
+ Write a signature
+
+ Helper
+ The signature
+ The signature as a byte array
+
+
+
+
+
+
+ Stores the instruction that jumps to _CorExeMain/_CorDllMain
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the
+
+
+
+
+
+
+
+
+
+
+ Gets the address of the JMP instruction
+
+
+
+
+ Constructor
+
+ Reloc directory
+ Machine
+ Error logger
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #Strings heap
+
+
+
+
+
+
+
+ Populates strings from an existing (eg. to preserve
+ string offsets)
+
+ The #Strings stream with the original content
+
+
+
+ Adds a string to the #Strings heap. The returned value is not necessarily an offset in
+ the #Strings heap. Call to get the offset.
+
+ The string
+ The offset id. This is not a #Strings offset. Call to get the #Strings offset
+
+
+
+ Gets the offset of a string in the #Strings heap. This method can only be called after
+ all strings have been added.
+
+ Offset id returned by
+
+
+
+
+ Adds a string to the #Strings heap, but does not re-use an existing position
+
+ The string
+ The offset of the string in the #Strings heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Strong name signature chunk
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Size of strong name signature
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ options
+
+
+
+
+ Should be 0
+
+
+
+
+ Major version number. Default is 2. Valid versions are v1.0 (no generics),
+ v1.1 (generics are supported), or v2.0 (recommended).
+
+
+
+
+ Minor version number. Default is 0.
+
+
+
+
+ Force #- or #~ stream. Default value is null and recommended because the correct
+ tables stream will be used. true will force #- (Edit N' Continue)
+ stream, and false will force #~ (normal compressed) stream.
+
+
+
+
+ Extra data to write
+
+
+
+
+ true if there are deleted s, s,
+ s, s, s and/or
+ s.
+
+
+
+
+ Creates portable PDB v1.0 options
+
+
+
+
+
+ Contains all .NET tables
+
+
+
+
+
+
+
+
+
+
+ All tables
+
+
+
+
+
+
+
+
+
+
+ true if the Edit 'N Continue name will be used (#-)
+
+
+
+
+ true if any rows have been deleted (eg. a deleted TypeDef, Method, Field, etc.
+ Its name has been renamed to _Deleted).
+
+
+
+
+ true if #Strings heap size > 0xFFFF
+
+
+
+
+ true if #GUID heap size > 0xFFFF
+
+
+
+
+ true if #Blob heap size > 0xFFFF
+
+
+
+
+ Constructor
+
+ Metadata owner
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Calculates the length. This will set all MD tables to read-only.
+
+
+
+
+
+
+
+
+
+
+ Re-uses existing chunks to save space
+
+ Chunk type
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Compares the chunk type
+
+
+
+
+
+
+ Adds a if not already present
+
+ The chunk to add or null if none
+ Chunk alignment
+ The original input if it wasn't present, or the cached one
+
+
+
+ #US heap
+
+
+
+
+
+
+
+ Populates strings from an existing (eg. to preserve
+ string tokens)
+
+ The #US stream with the original content
+
+
+
+ Adds a string to the #US heap
+
+ The string
+ The offset of the string in the #US heap
+
+
+
+ Adds a string to the #US heap
+
+ The string
+ The offset of the string in the #US heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Writes Win32 resources
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Win32 resources
+
+
+
+ Returns the and of a
+ . must have been called.
+
+ A
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The RVA or 0 if is invalid
+
+
+
+ Returns the and of a
+ . must have been called.
+
+ A
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The RVA or 0 if is invalid
+
+
+
+ Returns the and of a
+ . must have been called.
+
+ A
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The RVA or 0 if is invalid
+
+
+
+ Returns the and of a
+ 's name. must have been
+ called.
+
+ The name of a
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a 's name.
+ must have been called.
+
+ The name of a
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a 's name.
+ must have been called.
+
+ The name of a
+ The RVA or 0 if is invalid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A that reads from a byte array
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Creates a instance
+
+ Data
+ The filename or null if the data is not from a file
+
+
+
+
+ Creates a data reader
+
+ Data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ This method doesn't need to be called since a has nothing that must be cleaned up
+
+
+
+
+ Thrown by a when it can't read data or if the caller tries to set an invalid offset
+
+
+
+
+ Reads data
+
+
+
+
+ Gets the start offset of the data
+
+
+
+
+ Gets the end offset of the data, not inclusive
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Gets the current offset. This is between and (inclusive)
+
+
+
+
+ Gets/sets the position relative to
+
+
+
+
+ Gets the number of bytes that can be read without throwing an exception
+
+
+
+
+ Constructor
+
+ Stream
+ Start offset of data
+ Length of data
+
+
+
+ Resets the reader so it points to the start of the data
+
+
+
+
+ Creates a new reader that can access a smaller part of this reader
+
+ Start position relative to
+ Length of data
+
+
+
+
+ Creates a new reader that can access everything from to the end of the data
+
+ Start position relative to
+
+
+
+
+ Creates a new reader that can access a smaller part of this reader
+
+ Start position relative to
+ Length of data
+
+
+
+
+ Creates a new reader that can access everything from to the end of the data
+
+ Start position relative to
+
+
+
+
+ Checks if it's possible to read bytes
+
+ Length of data
+
+
+
+
+ Checks if it's possible to read bytes
+
+ Length of data
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a UTF-16 encoded
+
+ Number of characters to read
+
+
+
+
+ Reads bytes
+
+ Destination pointer
+ Number of bytes to read
+
+
+
+ Reads bytes
+
+ Destination array
+ Destination index
+ Number of bytes to read
+
+
+
+ Reads bytes
+
+ Number of bytes to read
+
+
+
+
+ Reads a compressed
+
+ Uncompressed
+
+
+
+
+ Reads a compressed
+
+
+
+
+
+ Reads a compressed
+
+ Uncompressed
+
+
+
+
+ Reads a compressed
+
+
+
+
+
+ Reads a 7-bit encoded integer
+
+
+
+
+
+ Reads a 7-bit encoded integer
+
+
+
+
+
+ Reads a serialized UTF-8 string
+
+
+
+
+
+ Reads a serialized string
+
+ Encoding
+
+
+
+
+ Returns all data without updating the current position
+
+
+
+
+
+ Returns the remaining data
+
+
+
+
+
+ Reads all bytes until a terminating byte or returns null if wasn't found.
+ If found, the current offset is incremented by the length of the returned data
+
+ Terminating byte value
+
+
+
+
+ Reads a zero-terminated UTF-8 string or returns null if the string couldn't be read.
+ If successful, the current offset is incremented past the terminating zero.
+
+
+
+
+
+ Reads a zero-terminated string or returns null if the string couldn't be read.
+ If successful, the current offset is incremented past the terminating zero.
+
+ Encoding
+
+
+
+
+ Reads a UTF-8 encoded string
+
+ Number of bytes to read (not characters)
+
+
+
+
+ Reads a string
+
+ Number of bytes to read (not characters)
+ Encoding
+
+
+
+
+ Creates a that can access this content. The caller doesn't have to dispose of the returned stream.
+
+
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Temp buffer during writing
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Temp buffer during writing
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Temp buffer during writing
+ Number of bytes written
+
+
+
+ Creates s that can read its data.
+
+ This factory class is thread safe and its data can be read by on any thread.
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Creates a data reader that can read all data
+
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Stream
+ Offset of data
+ Length of data
+
+
+
+
+ Raised when all cached s created by this instance must be recreated
+
+
+
+
+ Disposes of this instance
+
+
+
+
+ This class is used by a . The instance
+ verifies that all input are valid before calling any methods in this class.
+ This class is thread safe.
+
+
+
+
+ Reads bytes
+
+ Offset of data
+ Destination pointer
+ Number of bytes to read
+
+
+
+ Reads bytes
+
+ Offset of data
+ Destination array
+ Destination index
+ Number of bytes to read
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a UTF-16 encoded
+
+ Offset of data
+ Number of characters to read
+
+
+
+
+ Reads a string
+
+ Offset of data
+ Length of string in bytes
+ Encoding
+
+
+
+
+ Gets the data offset of a byte or returns false if the byte wasn't found
+
+ Offset of data
+ End offset of data (not inclusive)
+ Byte value to search for
+ Offset of the byte if found
+
+
+
+
+ Creates s
+
+
+
+
+ Creates a that reads from native memory
+
+ Pointer to data
+
+
+
+
+ Creates a that reads from a byte array
+
+ Data
+
+
+
+
+ Represents a file offset
+
+
+
+
+ Extension methods
+
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Base class for classes needing to implement IFileSection
+
+
+
+
+ The start file offset of this section
+
+
+
+
+ Size of the section
+
+
+
+
+
+
+
+
+
+
+ Set to 's current position
+
+ The reader
+
+
+
+ Set according to 's current position
+
+ The reader
+
+
+
+ Represents a section in a file
+
+
+
+
+ Start offset of the section in the file
+
+
+
+
+ End offset of the section in the file. This is one byte after the last
+ valid offset in the section.
+
+
+
+
+ Creates s that read memory mapped data
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Raised when all cached s created by this instance must be recreated
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Cleans up and frees all allocated memory
+
+
+
+
+ true if memory mapped I/O is enabled
+
+
+
+
+ Call this to disable memory mapped I/O. This must only be called if no other code is
+ trying to access the memory since that could lead to an exception.
+
+
+
+
+ Creates s that read native memory
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Creates a instance
+
+ Pointer to data
+ Length of data
+ The filename or null if the data is not from a file
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ This method doesn't need to be called since this instance doesn't own the native memory
+
+
+
+
+ IMAGE_FILE_HEADER.Characteristics flags
+
+
+
+ Relocation info stripped from file.
+
+
+ File is executable (i.e. no unresolved externel references).
+
+
+ Line nunbers stripped from file.
+
+
+ Local symbols stripped from file.
+
+
+ Agressively trim working set
+
+
+ App can handle >2gb addresses
+
+
+
+
+
+ Bytes of machine word are reversed.
+
+
+ 32 bit word machine.
+
+
+ Debugging info stripped from file in .DBG file
+
+
+ If Image is on removable media, copy and run from the swap file.
+
+
+ If Image is on Net, copy and run from the swap file.
+
+
+ System File.
+
+
+ File is a DLL.
+
+
+ File should only be run on a UP machine
+
+
+ Bytes of machine word are reversed.
+
+
+
+ IMAGE_OPTIONAL_HEADER.DllCharacteristics
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Image can handle a high entropy 64-bit virtual address space.
+
+
+ DLL can move.
+
+
+ Code Integrity Image
+
+
+ Image is NX compatible
+
+
+ Image understands isolation and doesn't want it
+
+
+ Image does not use SEH. No SE handler may reside in this image
+
+
+ Do not bind this image.
+
+
+ Image should execute in an AppContainer
+
+
+ Driver uses WDM model
+
+
+ Image supports Control Flow Guard.
+
+
+
+
+
+
+ Interface for PE optional header classes
+
+
+
+
+ Returns the Magic field
+
+
+
+
+ Returns the MajorLinkerVersion field
+
+
+
+
+ Returns the MinorLinkerVersion field
+
+
+
+
+ Returns the SizeOfCode field
+
+
+
+
+ Returns the SizeOfInitializedData field
+
+
+
+
+ Returns the SizeOfUninitializedData field
+
+
+
+
+ Returns the AddressOfEntryPoint field
+
+
+
+
+ Returns the BaseOfCode field
+
+
+
+
+ Returns the BaseOfData field
+
+
+
+
+ Returns the ImageBase field
+
+
+
+
+ Returns the SectionAlignment field
+
+
+
+
+ Returns the FileAlignment field
+
+
+
+
+ Returns the MajorOperatingSystemVersion field
+
+
+
+
+ Returns the MinorOperatingSystemVersion field
+
+
+
+
+ Returns the MajorImageVersion field
+
+
+
+
+ Returns the MinorImageVersion field
+
+
+
+
+ Returns the MajorSubsystemVersion field
+
+
+
+
+ Returns the MinorSubsystemVersion field
+
+
+
+
+ Returns the Win32VersionValue field
+
+
+
+
+ Returns the SizeOfImage field
+
+
+
+
+ Returns the SizeOfHeaders field
+
+
+
+
+ Returns the CheckSum field
+
+
+
+
+ Returns the Subsystem field
+
+
+
+
+ Returns the DllCharacteristics field
+
+
+
+
+ Returns the SizeOfStackReserve field
+
+
+
+
+ Returns the SizeOfStackCommit field
+
+
+
+
+ Returns the SizeOfHeapReserve field
+
+
+
+
+ Returns the SizeOfHeapCommit field
+
+
+
+
+ Returns the LoaderFlags field
+
+
+
+
+ Returns the NumberOfRvaAndSizes field
+
+
+
+
+ Returns the DataDirectories field. This array contains exactly 16 elements.
+
+
+
+
+ Represents the IMAGE_DATA_DIRECTORY PE section
+
+
+
+
+ Returns the IMAGE_DATA_DIRECTORY.VirtualAddress field
+
+
+
+
+ Returns the IMAGE_DATA_DIRECTORY.Size field
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ A IMAGE_DEBUG_DIRECTORY
+
+
+
+
+ Gets the characteristics (reserved)
+
+
+
+
+ Gets the timestamp
+
+
+
+
+ Gets the major version
+
+
+
+
+ Gets the minor version
+
+
+
+
+ Gets the type
+
+
+
+
+ Gets the size of data
+
+
+
+
+ RVA of the data
+
+
+
+
+ File offset of the data
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Image debug type, see IMAGE_DEBUG_TYPE_* in winnt.n
+
+
+
+
+ Contains PDB info
+
+
+
+
+ It's a deterministic (reproducible) PE file
+
+
+
+
+ Embedded portable PDB data
+
+
+
+
+ Checksum of the PDB file. 0 or more entries allowed.
+
+
+
+
+ Represents the IMAGE_DOS_HEADER PE section
+
+
+
+
+ File offset of the NT headers
+
+
+
+
+ Constructor
+
+ PE file reader
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_FILE_HEADER PE section
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.Machine field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.NumberOfSections field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.TimeDateStamp field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.PointerToSymbolTable field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.NumberOfSymbols field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.SizeOfOptionalHeader field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.Characteristics field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_NT_HEADERS PE section
+
+
+
+
+ Returns the IMAGE_NT_HEADERS.Signature field
+
+
+
+
+ Returns the IMAGE_NT_HEADERS.FileHeader field
+
+
+
+
+ Returns the IMAGE_NT_HEADERS.OptionalHeader field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Creates an IImageOptionalHeader
+
+ PE file reader pointing to the start of the optional header
+ Verify section
+ The created IImageOptionalHeader
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_OPTIONAL_HEADER (32-bit) PE section
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.Magic field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfCode field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfInitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfUninitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.AddressOfEntryPoint field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.BaseOfCode field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.BaseOfData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.ImageBase field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SectionAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.FileAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.Win32VersionValue field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfImage field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfHeaders field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.CheckSum field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.Subsystem field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.DllCharacteristics field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfStackReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfStackCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfHeapReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfHeapCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.LoaderFlags field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.NumberOfRvaAndSizes field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.DataDirectories field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Total size of this optional header (from the file header)
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_OPTIONAL_HEADER64 PE section
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.Magic field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfCode field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfInitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfUninitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.AddressOfEntryPoint field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.BaseOfCode field
+
+
+
+
+ Returns 0 since BaseOfData is not present in IMAGE_OPTIONAL_HEADER64
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.ImageBase field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SectionAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.FileAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.Win32VersionValue field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfImage field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfHeaders field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.CheckSum field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.Subsystem field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.DllCharacteristics field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfStackReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfStackCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfHeapReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfHeapCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.LoaderFlags field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.NumberOfRvaAndSizes field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.DataDirectories field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Total size of this optional header (from the file header)
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_SECTION_HEADER PE section
+
+
+
+
+ Returns the human readable section name, ignoring everything after
+ the first nul byte
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.Name field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.VirtualSize field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.VirtualAddress field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.SizeOfRawData field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.PointerToRawData field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.PointerToRelocations field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.PointerToLinenumbers field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.NumberOfRelocations field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.NumberOfLinenumbers field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.Characteristics field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Converts s to/from s
+
+
+
+
+ Converts a to an
+
+ The file offset to convert
+ The RVA
+
+
+
+ Converts an to a
+
+ The RVA to convert
+ The file offset
+
+
+
+ Interface to access a PE image
+
+
+
+
+ true if image layout is the same as the raw PE image layout, false
+ if it's the same layout as a PE image loaded by the OS PE loader.
+
+
+
+
+ true if some of the memory where the image is located could be unavailable.
+ This could happen if it's been loaded by the OS loader.
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Returns the DOS header
+
+
+
+
+ Returns the NT headers
+
+
+
+
+ Returns the section headers
+
+
+
+
+ Returns the debug directories
+
+
+
+
+ Gets/sets the Win32 resources. This is null if there are no Win32 resources.
+
+
+
+
+ Gets the factory
+
+
+
+
+ Creates a from to the end of the image
+
+ Offset of data
+
+
+
+
+ Creates a
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a from to the end of the image
+
+ RVA of data
+
+
+
+
+ Creates a
+
+ RVA of data
+ Length of data
+
+
+
+
+ Creates a that can read the whole image
+
+
+
+
+
+ Interface to access a PE image
+
+
+
+
+ Call this to disable memory mapped I/O if it was used to open the file. This must only
+ be called if no other code is trying to access the memory since that could lead to an
+ exception.
+
+
+
+
+ true if memory mapped I/O is enabled
+
+
+
+
+ Extension methods
+
+
+
+
+ Finds a
+
+ this
+ Type
+ Name
+ Language ID
+ The or null if none found
+
+
+
+ Calculates a PE checksum
+
+ PE image stream positioned at the MZ bytes
+ Length of image
+ Offset of checksum
+ PE checksum
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Converts a to/from an
+
+
+
+
+ Converts a to an
+
+ The PEInfo context
+ The file offset to convert
+ The RVA
+
+
+
+ Converts an to a
+
+ The PEInfo context
+ The RVA to convert
+ The file offset
+
+
+
+ IMAGE_FILE_HEADER.Machine enum
+
+
+
+ Unknown machine
+
+
+ x86
+
+
+ MIPS little-endian, 0x160 big-endian
+
+
+ MIPS little-endian
+
+
+ MIPS little-endian
+
+
+ MIPS little-endian WCE v2
+
+
+ Alpha_AXP
+
+
+ SH3 little-endian
+
+
+
+
+
+ SH3E little-endian
+
+
+ SH4 little-endian
+
+
+ SH5
+
+
+ ARM Little-Endian
+
+
+ ARM Thumb/Thumb-2 Little-Endian
+
+
+ ARM Thumb-2 Little-Endian
+
+
+
+
+
+ IBM PowerPC Little-Endian
+
+
+
+
+
+ IA-64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Infineon
+
+
+
+
+
+ EFI Byte Code
+
+
+ x64
+
+
+ M32R little-endian
+
+
+
+
+
+
+
+
+
+ Extensions
+
+
+
+
+ Checks if is a 64-bit machine
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Image layout
+
+
+
+
+ Use this if the PE file has a normal structure (eg. it's been read from a file on disk)
+
+
+
+
+ Use this if the PE file has been loaded into memory by the OS PE file loader
+
+
+
+
+ Accesses a PE file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Data reader factory
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ Name of the file
+ true if we should map it as an executable
+ Verify PE file data
+
+
+
+ Constructor
+
+ Name of the file
+ Verify PE file data
+
+
+
+ Constructor
+
+ Name of the file
+
+
+
+ Constructor
+
+ The PE file data
+ Filename or null
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Filename or null
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Filename or null
+
+
+
+ Constructor
+
+ Address of PE image
+ Length of PE image
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+ Length of PE image
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+ Length of PE image
+
+
+
+ Constructor
+
+ Address of PE image
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reads all PE sections from a PE stream
+
+
+
+
+ Returns the DOS header
+
+
+
+
+ Returns the NT headers
+
+
+
+
+ Returns the section headers
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify sections
+ Thrown if verification fails
+
+
+
+ Returns the first that has data at file offset
+
+
+ The file offset
+
+
+
+
+ Returns the first that has data at RVA
+
+
+ The RVA
+
+
+
+
+ Converts a to an
+
+ The file offset to convert
+ The RVA
+
+
+
+ Converts an to a
+
+ The RVA to convert
+ The file offset
+
+
+
+ Returns size of image rounded up to
+
+ It calculates the size itself, and does not return
+ Size of image in bytes
+
+
+
+ Represents an RVA (relative virtual address)
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.Subsystem
+
+
+
+ Unknown subsystem.
+
+
+ Image doesn't require a subsystem.
+
+
+ Image runs in the Windows GUI subsystem.
+
+
+ Image runs in the Windows character subsystem.
+
+
+ image runs in the OS/2 character subsystem.
+
+
+ image runs in the Posix character subsystem.
+
+
+ image is a native Win9x driver.
+
+
+ Image runs in the Windows CE subsystem.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ dnlib settings
+
+
+
+
+ true if dnlib is thread safe. (THREAD_SAFE was defined during compilation)
+
+
+
+
+ Cancellation token interface
+
+
+
+
+ Throws a if the operation should be canceled
+
+
+
+
+ Simple class using Monitor.Enter() and Monitor.Exit()
+ and just like ReaderWriterLockSlim it prevents recursive locks. It doesn't support
+ multiple readers. A reader lock is the same as a writer lock.
+
+
+
+
+ Creates a new instance of this class
+
+
+
+
+
+ Constructor
+
+
+
+
+ Enter read mode
+
+
+
+
+ Exit read mode
+
+
+
+
+ Enter write mode
+
+
+
+
+ Exit write mode
+
+
+
+
+ Interface to access a lazily initialized list
+
+ Type to store in list
+
+
+
+ Gets notified of list events
+
+ List value
+
+
+
+ Called before a new value is lazily added to the list.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index where the value will be added
+ Value that will be added to the list. It can be modified by
+ the callee.
+
+
+
+ Called before a new value is added to the list.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index where the value will be added
+ Value that will be added to the list
+
+
+
+ Called before a value is removed from the list. If all elements are removed,
+ is called, and this method is not called.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index of value
+ The value that will be removed
+
+
+
+ Called after the list has been resized (eg. an element has been added/removed). It's not
+ called when an element is replaced.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index where the change occurred.
+
+
+
+ Called before the whole list is cleared.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+
+
+
+ Implements a that is lazily initialized
+
+ Type to store in list
+
+
+
+ Stores a simple value
+
+
+
+
+ true if it has been initialized, false otherwise
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor that should be used when new elements are inserted into
+
+ User data
+
+
+
+ Gets the value
+
+ Index in the list
+
+
+
+ Sets the value
+
+ Index in the list
+ New value
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ List listener
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enumerator
+
+
+
+
+ Gets the current value
+
+
+
+
+ Moves to the next element in the collection
+
+
+
+
+
+ Disposes the enumerator
+
+
+
+
+ Gets the list enumerator
+
+
+
+
+
+
+
+
+ Implements a that is lazily initialized
+
+ Type to store in list
+ Type of the context passed to the read-value delegate
+
+
+
+ Stores data and keeps track of the original index and whether the data has been
+ initialized or not.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor that should only be called when is initialized.
+
+ Original index of this element
+ LazyList instance
+
+
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ List listener
+
+
+
+ Constructor
+
+ Initial length of the list
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ Constructor
+
+ Initial length of the list
+ List listener
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ A readonly list that gets initialized lazily
+
+ Any class type
+
+
+
+ Gets the length of this list
+
+
+
+
+ Access the list
+
+ Index
+ The element or null if is invalid
+
+
+
+ Constructor
+
+ Length of the list
+ Delegate instance that lazily reads an element. It might
+ be called more than once for each rid in rare cases. It must never return
+ null.
+
+
+
+ A readonly list that gets initialized lazily
+
+ Any class type
+
+
+
+ Gets the length of this list
+
+
+
+
+ Access the list
+
+ Index
+ Generic parameter context
+ The element or null if is invalid
+
+
+
+ Constructor
+
+ Length of the list
+ Delegate instance that lazily reads an element. It might
+ be called more than once for each rid. It must never return null.
+
+
+
+ Lazily returns the original value if the user hasn't overwritten the value
+
+ Value type
+
+
+
+ Sets the lock that protects the data
+
+
+
+
+ Set a delegate instance that will return the original value
+
+
+
+
+ Gets/sets the value
+
+ The getter returns the original value if the value hasn't been initialized.
+
+
+
+ Returns true if the value has been initialized
+
+
+
+
+ Returns true if the value was set by the user
+
+
+
+
+ A resource blob
+
+
+
+
+ Gets the data reader
+
+
+
+
+
+ Gets/sets the code page
+
+
+
+
+ Gets/sets the reserved field
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of resource data
+ Length of resource data
+ Name
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of resource data
+ Length of resource data
+ Name
+ Code page
+ Reserved value
+
+
+
+ A Win32 resource directory (see IMAGE_RESOURCE_DIRECTORY in the Windows SDK)
+
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+
+ Gets/sets the characteristics
+
+
+
+
+ Gets/sets the time date stamp
+
+
+
+
+ Gets/sets the major version number
+
+
+
+
+ Gets/sets the minor version number
+
+
+
+
+ Gets all directory entries
+
+
+
+
+ Gets all resource data
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Finds a by name
+
+ Name
+ A or null if it wasn't found
+
+
+
+ Finds a by name
+
+ Name
+ A or null if it wasn't found
+
+
+
+ A Win32 resource directory created by the user
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ A Win32 resource directory created from a PE file
+
+
+
+
+ To make sure we don't get stuck in an infinite loop, don't allow more than this
+ many sub directories.
+
+
+
+ Owner
+
+
+ Directory depth. When creating more 's,
+ the instances get this value + 1
+
+
+
+ Info about all 's we haven't created yet
+
+
+
+
+ Info about all 's we haven't created yet
+
+
+
+ Offset of resource directory / data
+
+
+
+ Constructor
+
+ Starts from 0. If it's big enough, we'll stop reading more data.
+ Name
+ Resources
+ Reader positioned at the start of this resource directory
+
+
+
+ Reads the directory header and initializes and
+ .
+
+
+
+
+
+ Reads a string
+
+ Reader
+ Offset of string
+ The string or null if we could not read it
+
+
+
+ Base class of and
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+
+
+
+ A Win32 resource name. It can be either an integer or a string.
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ The ID. It's only valid if is true
+
+
+
+
+ The name. It's only valid if is true
+
+
+
+
+ Constructor
+
+ ID
+
+
+
+ Constructor
+
+ Name
+
+
+ Converts input to a
+
+
+ Converts input to a
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Win32 resources base class
+
+
+
+
+ Gets/sets the root directory
+
+
+
+
+ Finds a
+
+ Type
+ The or null if none found
+
+
+
+ Finds a
+
+ Type
+ Name
+ The or null if none found
+
+
+
+ Finds a
+
+ Type
+ Name
+ Language ID
+ The or null if none found
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Win32 resources class created by the user
+
+
+
+
+
+
+
+ Win32 resources class created from a PE file
+
+
+
+
+ Converts data RVAs to file offsets in
+
+
+
+
+ This reader only reads the raw data. The data RVA is found in the data header and
+ it's first converted to a file offset using . This file
+ offset is where we'll read from using this reader.
+
+
+
+
+ This reader only reads the directory entries and data headers. The data is read
+ by
+
+
+
+
+
+
+
+ Gets the resource reader
+
+
+
+
+ Constructor
+
+ / converter
+ Reader for the whole Win32 resources section (usually
+ the .rsrc section). It's used to read 's and
+ 's but not the actual data blob.
+ Offset of resource section
+ Length of resource section
+ true if this instance can dispose of
+ Data reader (it's used after converting an
+ to a )
+ Offset of resource section
+ Length of resource section
+ true if this instance can dispose of
+
+
+
+ Constructor
+
+ The PE image
+
+
+
+ Constructor
+
+ The PE image
+ Reader for the whole Win32 resources section (usually
+ the .rsrc section) or null if we should create one from the resource data
+ directory in the optional header
+ Offset of resource section
+ Length of resource section
+ true if this instance can dispose of
+
+
+
+ Creates a new data reader
+
+ RVA of data
+ Size of data
+
+
+
+
+
+
+
diff --git a/DotKill/de4dot.blocks.dll b/DotKill/de4dot.blocks.dll
new file mode 100644
index 0000000..ebf41a8
Binary files /dev/null and b/DotKill/de4dot.blocks.dll differ
diff --git a/DotKill/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/DotKill/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
new file mode 100644
index 0000000..9194466
Binary files /dev/null and b/DotKill/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/DotKill/obj/Debug/DotKill.csproj.AssemblyReference.cache b/DotKill/obj/Debug/DotKill.csproj.AssemblyReference.cache
new file mode 100644
index 0000000..f5e894a
Binary files /dev/null and b/DotKill/obj/Debug/DotKill.csproj.AssemblyReference.cache differ
diff --git a/packages/dnlib.3.3.2/LICENSE.txt b/packages/dnlib.3.3.2/LICENSE.txt
new file mode 100644
index 0000000..0ab6432
--- /dev/null
+++ b/packages/dnlib.3.3.2/LICENSE.txt
@@ -0,0 +1,20 @@
+Copyright (C) 2012-2019 de4dot@gmail.com
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/packages/dnlib.3.3.2/dnlib.3.3.2.nupkg b/packages/dnlib.3.3.2/dnlib.3.3.2.nupkg
new file mode 100644
index 0000000..ccd3271
Binary files /dev/null and b/packages/dnlib.3.3.2/dnlib.3.3.2.nupkg differ
diff --git a/packages/dnlib.3.3.2/lib/net35/dnlib.dll b/packages/dnlib.3.3.2/lib/net35/dnlib.dll
new file mode 100644
index 0000000..4837755
Binary files /dev/null and b/packages/dnlib.3.3.2/lib/net35/dnlib.dll differ
diff --git a/packages/dnlib.3.3.2/lib/net35/dnlib.xml b/packages/dnlib.3.3.2/lib/net35/dnlib.xml
new file mode 100644
index 0000000..7e70c04
--- /dev/null
+++ b/packages/dnlib.3.3.2/lib/net35/dnlib.xml
@@ -0,0 +1,38514 @@
+
+
+
+ dnlib
+
+
+
+
+ Returns types without getting stuck in an infinite loop
+
+
+
+
+ Gets a list of all types and nested types
+
+ A list of types
+
+
+
+ Assembly flags from Assembly.Flags column.
+
+ See CorHdr.h/CorAssemblyFlags
+
+
+ No flags set
+
+
+ The assembly ref holds the full (unhashed) public key.
+
+
+ Processor Architecture unspecified
+
+
+ Processor Architecture: neutral (PE32)
+
+
+ Processor Architecture: x86 (PE32)
+
+
+ Processor Architecture: Itanium (PE32+)
+
+
+ Processor Architecture: AMD X64 (PE32+)
+
+
+ Processor Architecture: ARM (PE32)
+
+
+ applies to any platform but cannot run on any (e.g. reference assembly), should not have "specified" set
+
+
+ Propagate PA flags to AssemblyRef record
+
+
+ Bits describing the processor architecture
+
+
+ Bits describing the PA incl. Specified
+
+
+ NOT A FLAG, shift count in PA flags <--> index conversion
+
+
+ From "DebuggableAttribute".
+
+
+ From "DebuggableAttribute".
+
+
+ The assembly can be retargeted (at runtime) to an assembly from a different publisher.
+
+
+
+
+
+
+
+
+ Bits describing ContentType
+
+
+
+ A high-level representation of a row in the Assembly table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Assembly.HashAlgId
+
+
+
+
+
+
+
+ From columns Assembly.MajorVersion, Assembly.MinorVersion, Assembly.BuildNumber,
+ Assembly.RevisionNumber.
+
+ If is null
+
+
+
+
+
+
+ From column Assembly.Flags
+
+
+
+ Attributes
+
+
+
+ From column Assembly.PublicKey
+
+ An empty is created if the caller writes null
+
+
+
+
+
+
+ Gets the public key token which is calculated from
+
+
+
+
+ From column Assembly.Name
+
+
+
+ Name
+
+
+
+ From column Assembly.Locale
+
+
+
+ Name
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all modules. The first module is always the .
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the manifest (main) module. This is always the first module in .
+ null is returned if is empty.
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+ Finds a module in this assembly
+
+ Name of module
+ A instance or null if it wasn't found.
+
+
+
+ Creates an instance from a file
+
+ File name of an existing .NET assembly
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a file
+
+ File name of an existing .NET assembly
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a byte[]
+
+ Contents of a .NET assembly
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a byte[]
+
+ Contents of a .NET assembly
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a memory location
+
+ Address of a .NET assembly
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a memory location
+
+ Address of a .NET assembly
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Gets the assembly name with the public key
+
+
+
+
+ Gets the assembly name with the public key token
+
+
+
+
+ Finds a . For speed, enable
+ if possible (read the documentation first).
+
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing or null if it wasn't found.
+
+
+
+ Finds a . Its scope (i.e., module or assembly) is ignored when
+ looking up the type. For speed, enable
+ if possible (read the documentation first).
+
+ The type ref
+ An existing or null if it wasn't found.
+
+
+
+ Writes the assembly to a file on disk. If the file exists, it will be truncated.
+
+ Filename
+ Writer options
+
+
+
+ Writes the assembly to a stream.
+
+ Destination stream
+ Writer options
+
+
+
+ Checks whether this assembly is a friend assembly of
+
+ Target assembly
+
+
+
+ Adds or updates an existing System.Reflection.AssemblySignatureKeyAttribute
+ attribute. This attribute is used in enhanced strong naming with key migration.
+ See http://msdn.microsoft.com/en-us/library/hh415055.aspx
+
+ Identity public key
+ Identity strong name key pair
+ Signature public key
+
+
+
+ Gets the original System.Runtime.Versioning.TargetFrameworkAttribute custom attribute information if possible.
+ It reads this from the original metadata and doesn't use .
+ Returns false if the custom attribute isn't present or if it is invalid.
+
+ Framework name
+ Version
+ Profile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An Assembly row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Simple name
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key
+ Locale
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Assembly name info
+ If is null
+
+
+
+ Constructor
+
+ Assembly name info
+ If is null
+
+
+
+ Created from a row in the Assembly table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Assembly row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Hashes some data according to a
+
+
+
+
+ Constructor
+
+ If is an unsupported hash algorithm, then
+ will be used as the hash algorithm.
+ The algorithm to use
+
+
+
+
+
+
+ Hash data
+
+ If is an unsupported hash algorithm, then
+ will be used as the hash algorithm.
+ The data
+ The algorithm to use
+ Hashed data or null if was null
+
+
+
+ Hash data
+
+ Data
+
+
+
+ Hash data
+
+ Data
+ Offset
+ Length
+
+
+
+ Hash stream data
+
+ Stream
+ Number of bytes to hash
+ Temp buffer
+
+
+
+ Computes the hash
+
+
+
+
+ Creates a public key token from the hash of some
+
+ A public key is hashed, and the last 8 bytes of the hash, in reverse
+ order, is used as the public key token
+ The data
+ A new instance
+
+
+
+ Any ALG_CLASS_HASH type in WinCrypt.h can be used by Microsoft's CLI implementation
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a reserved value in the CLI
+
+
+ The only algorithm supported by the CLI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Extension methods
+
+
+
+
+ Gets the field type
+
+ this
+ Field type or null if none
+
+
+
+ Gets the return type
+
+ this
+ Return type or null if none
+
+
+
+ Gets the parameters
+
+ this
+ The parameters
+
+
+
+ Gets the parameter count
+
+ this
+ Parameter count
+
+
+
+ Gets the generic parameter count
+
+ this
+ Generic parameter count
+
+
+
+ Gets the parameters after the sentinel
+
+ this
+ Parameters after sentinel or null if none
+
+
+
+ Gets the locals
+
+ this
+ All locals
+
+
+
+ Gets the generic arguments
+
+ this
+ All generic arguments
+
+
+
+ Gets the property
+
+ this
+ The type's property or
+ false if input isnull
+
+
+
+ Returns true if it's an integer or a floating point type
+
+ Element type
+
+
+
+
+ Returns the size of the element type in bytes or -1 if it's unknown
+
+ Element type
+ Size of a pointer
+
+
+
+
+ Checks whether it's a value type
+
+ this
+ true if it's a value type, false if it's not a value type or
+ if we couldn't determine whether it's a value type. Eg., it could be a generic
+ instance type.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver or
+ null if the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver or
+ null if the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver
+ If the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver
+ If the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver
+ If the assembly couldn't be found.
+
+
+
+ Checks whether appears to be the core library (eg.
+ mscorlib, System.Runtime or corefx).
+
+ If is a reference to a private corlib (eg. System.Private.CoreLib),
+ this method returns false unless is an
+ whose manifest (first) module defines System.Object. This check is performed in
+ the constructor and the result can be found in .
+
+ Note that this method also returns true if it appears to be a 'public' corlib,
+ eg. mscorlib, etc, even if it internally possibly references a private corlib.
+
+ The assembly
+
+
+
+ Converts to a instance
+
+ The assembly
+ A new instance
+
+
+
+ Converts to a
+
+ The type
+ true if we should try to figure out whether
+ is a
+ A instance or null if
+ is invalid
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns the base type of . Throws if we can't resolve
+ a .
+
+ The type
+ The base type or null if there's no base type
+
+
+
+ Returns the base type of
+
+ The type
+ true if we should throw if we can't
+ resolve a . false if we should ignore the error and
+ just return null.
+ The base type or null if there's no base type, or if
+ is true and we couldn't resolve
+ a
+
+
+
+ Gets the scope type, resolves it, and returns the
+
+ Type
+ A or null if input was null or if we
+ couldn't resolve the reference.
+
+
+
+ Gets the scope type, resolves it, and returns the
+
+ Type
+ A instance.
+ If the type couldn't be resolved
+
+
+
+ Resolves an to a . Returns null if it
+ was not possible to resolve it. See also
+
+ Field to resolve
+ The or null if is
+ null or if it wasn't possible to resolve it (the field doesn't exist or its
+ assembly couldn't be loaded)
+
+
+
+ Resolves an to a and throws an exception if
+ it was not possible to resolve it. See also
+
+ Field to resolve
+ The
+
+
+
+ Resolves an to a . Returns null if it
+ was not possible to resolve it. See also . If
+ is a , then the
+ property is resolved and returned.
+
+ Method to resolve
+ The or null if is
+ null or if it wasn't possible to resolve it (the method doesn't exist or its
+ assembly couldn't be loaded)
+
+
+
+ Resolves an to a and throws an exception
+ if it was not possible to resolve it. See also . If
+ is a , then the
+ property is resolved and returned.
+
+ Method to resolve
+ The
+
+
+
+ Returns the definition assembly of a
+
+ Member reference
+
+
+
+
+ Gets the normal visible parameters, doesn't include the hidden 'this' parameter
+
+ this
+ The normal visible parameters
+
+
+
+ Gets the normal visible parameter count, doesn't include the hidden 'this' parameter
+
+ this
+ Normal visible parameter count
+
+
+
+ Checks whether any normal visible parameter exists, doesn't include the hidden 'this' parameter
+
+ this
+ true if there's at least one normal visible parameter
+
+
+
+ Gets a normal visible parameter, doesn't include the hidden 'this' parameter
+
+ this
+ Normal visible parameter index
+
+
+
+
+ Converts a to a
+
+ The sig
+
+
+
+ Returns true if it's an integer or a floating point type
+
+ Type
+
+
+
+
+ Gets a if matches a primitive type.
+
+ this
+ The type
+ A or null if it didn't match any primitive type
+
+
+
+ Gets a if and
+ matches a primitive type.
+
+ this
+ Namespace
+ Name
+ Definition assembly
+ A or null if it didn't match any primitive type
+
+
+
+ Gets a if and
+ matches a primitive type.
+
+ this
+ Namespace
+ Name
+ Definition assembly
+ A or null if it didn't match any primitive type
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Resolves a type
+
+ this
+ The type
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves a type
+
+ this
+ The type
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Resolves a type
+
+ this
+ The type
+ The module that needs to resolve the type or null
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Resolves a method or a field
+
+ this
+ A method/field reference
+ A or a instance
+ If the method/field couldn't be resolved
+
+
+
+ Resolves a field
+
+ this
+ A field reference
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves a field
+
+ this
+ A field reference
+ A instance or null if it couldn't be resolved.
+ If the field couldn't be resolved
+
+
+
+ Resolves a method
+
+ this
+ A method reference
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves a method
+
+ this
+ A method reference
+ A instance or null if it couldn't be resolved.
+ If the method couldn't be resolved
+
+
+
+ Resolves a token
+
+ This
+ The metadata token
+ A or null if is invalid
+
+
+
+ Returns , but if it's a nested ,
+ return the non-nested
+
+ this
+ The scope type
+
+
+
+ Finds a . Its scope (i.e., module or assembly) is ignored when
+ looking up the type.
+
+ this
+ The type ref
+ An existing or null if it wasn't found.
+ If type couldn't be found
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing
+ If type couldn't be found
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by /
+ An existing or null if it wasn't found.
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by /
+ An existing
+ If type couldn't be found
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by +
+ An existing or null if it wasn't found.
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by +
+ An existing
+ If type couldn't be found
+
+
+
+ Checks whether a exists. 's scope (i.e.,
+ module or assembly) is ignored when looking up the type.
+
+ this
+ The type ref
+ true if the exists, false otherwise
+
+
+
+ Checks whether a exists
+
+ this
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ true if the exists, false otherwise
+
+
+
+ Checks whether a exists
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by /
+ true if the exists, false otherwise
+
+
+
+ Checks whether a exists
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by +
+ true if the exists, false otherwise
+
+
+
+ Removes all C optional/required modifiers
+
+ A instance
+ Input after all modifiers
+
+
+
+ Removes pinned signature
+
+ The type
+ Input after pinned signature
+
+
+
+ Removes all modifiers and pinned sig
+
+ The type
+ Inputer after modifiers and pinned signature
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Gets the next field or null
+
+ this
+
+
+
+
+ Gets the value or false if
+ is null
+
+ this
+
+
+
+
+ Gets the value or false if
+ is null
+
+ this
+
+
+
+
+ Gets the element type
+
+ this
+ The element type
+
+
+
+ Gets the full name of the type
+
+ this
+ Full name of the type
+
+
+
+ Gets the name of the type
+
+ this
+ Name of the type
+
+
+
+ Gets the namespace of the type
+
+ this
+ Namespace of the type
+
+
+
+ Returns the if it is a .
+
+ this
+ A or null if none found
+
+
+
+ Returns the if it is a .
+
+ this
+ A or null if none found
+
+
+
+ Returns the if it is a .
+ Nothing is resolved.
+
+ this
+ A or null if none found
+
+
+
+ Returns the if it is a .
+
+ this
+ A or null if none found
+
+
+
+ Flags used by
+
+
+
+
+ Compare assembly simple name
+
+
+
+
+ Compare assembly version
+
+
+
+
+ Compare assembly public key token
+
+
+
+
+ Compare assembly culture
+
+
+
+
+ Compare content type
+
+
+
+
+ Compare assembly simple name, version, public key token, locale and content type
+
+
+
+
+ Compares two assembly names
+
+
+
+
+ Compares the name, version, public key token, culture and content type
+
+
+
+
+ Compares only the name and the public key token
+
+
+
+
+ Compares only the name
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Constructor
+
+ Comparison flags
+
+
+
+ Compares two assembly names
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two assembly names
+
+ First
+ Second
+ true if equal, false otherwise
+
+
+
+ Figures out which of two assembly names is closer to another assembly name
+
+ Requested assembly name
+ First
+ Second
+ -1 if both are equally close, 0 if is closest, 1 if
+ is closest
+
+
+
+ Gets the hash code of an assembly name
+
+ Assembly name
+ The hash code
+
+
+
+ Stores assembly name information
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the or null if none specified
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the public key or token
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the culture or null if none specified
+
+
+
+
+ Gets the full name of the assembly
+
+
+
+
+ Gets the full name of the assembly but use a public key token
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ An assembly name
+
+
+
+ Constructor
+
+ The assembly
+
+
+
+ Constructor
+
+ Assembly name info
+
+
+
+
+
+
+ A high-level representation of a row in the AssemblyRef table
+
+
+
+
+ An assembly ref that can be used to indicate that it references the current assembly
+ when the current assembly is not known (eg. a type string without any assembly info
+ when it references a type in the current assembly).
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From columns AssemblyRef.MajorVersion, AssemblyRef.MinorVersion,
+ AssemblyRef.BuildNumber, AssemblyRef.RevisionNumber
+
+ If is null
+
+
+
+
+
+
+ From column AssemblyRef.Flags
+
+
+
+ Attributes
+
+
+
+ From column AssemblyRef.PublicKeyOrToken
+
+ If is null
+
+
+
+
+
+
+ From column AssemblyRef.Name
+
+
+
+ Name
+
+
+
+ From column AssemblyRef.Locale
+
+
+
+ Culture
+
+
+
+ From column AssemblyRef.HashValue
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ Same as , except that it uses the PublicKey if available.
+
+
+
+
+ Gets the full name of the assembly but use a public key token
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+
+
+
+ An AssemblyRef row created by the user and not present in the original .NET file
+
+
+
+
+ Creates a reference to CLR 1.0's mscorlib
+
+
+
+
+ Creates a reference to CLR 1.1's mscorlib
+
+
+
+
+ Creates a reference to CLR 2.0's mscorlib
+
+
+
+
+ Creates a reference to CLR 4.0's mscorlib
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Simple name
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key or public key token
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key or public key token
+ Locale
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Assembly name info
+ If is null
+
+
+
+ Constructor
+
+ Assembly
+
+
+
+ Created from a row in the AssemblyRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this AssemblyRef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Resolves assemblies
+
+
+
+
+ Gets/sets the default
+
+
+
+
+ true if should find an assembly that matches exactly.
+ false if it first tries to match exactly, and if that fails, it picks an
+ assembly that is closest to the requested assembly.
+
+
+
+
+ true if resolved .NET framework assemblies can be redirected to the source
+ module's framework assembly version. Eg. if a resolved .NET 3.5 assembly can be
+ redirected to a .NET 4.0 assembly if the source module is a .NET 4.0 assembly. This is
+ ignored if is true.
+
+
+
+
+ If true, all modules in newly resolved assemblies will have their
+ property set to true. This is
+ enabled by default since these modules shouldn't be modified by the user.
+
+
+
+
+ true to search the Global Assembly Cache. Default value is true.
+
+
+
+
+ Gets paths searched before trying the standard locations
+
+
+
+
+ Gets paths searched after trying the standard locations
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Module context for all resolved assemblies
+
+
+
+
+
+
+ Add a module's assembly to the assembly cache
+
+ The module whose assembly should be cached
+ true if 's assembly is cached, false
+ if it's not cached because some other assembly with the exact same full name has
+ already been cached or if or its assembly is null.
+
+
+
+ Add an assembly to the assembly cache
+
+ The assembly
+ true if is cached, false if it's not
+ cached because some other assembly with the exact same full name has already been
+ cached or if is null.
+
+
+
+ Removes a module's assembly from the cache
+
+ The module
+ true if its assembly was removed, false if it wasn't removed
+ since it wasn't in the cache, it has no assembly, or was
+ null
+
+
+
+ Removes the assembly from the cache
+
+ The assembly
+ true if it was removed, false if it wasn't removed since it
+ wasn't in the cache or if was null
+
+
+
+ Clears the cache and calls on each cached module.
+ Use to remove any assemblies you added yourself
+ using before calling this method if you don't want
+ them disposed.
+
+
+
+
+ Gets the cached assemblies in this resolver.
+
+ The cached assemblies.
+
+
+
+ Finds an assembly that exactly matches the requested assembly
+
+ Assembly to find
+ Search paths or null if none
+ Module context
+ An instance or null if an exact match
+ couldn't be found.
+
+
+
+ Finds the closest assembly from the already cached assemblies
+
+ Assembly to find
+ The closest or null if none found
+
+
+
+ Returns true if is inserted in
+
+ Assembly to check
+
+
+
+ Called before
+
+ Assembly to find
+ The module that needs to resolve an assembly or null
+ We're trying to find an exact match
+ null or an enumerable of full paths to try
+
+
+
+ Called after (if it fails)
+
+ Assembly to find
+ The module that needs to resolve an assembly or null
+ We're trying to find an exact match
+ null or an enumerable of full paths to try
+
+
+
+ Called after (if it fails)
+
+ Assembly to find
+ The module that needs to resolve an assembly or null
+ We're trying to find an exact match
+ null or an enumerable of full paths to try
+
+
+
+ Gets all search paths to use for this module
+
+ The module or null if unknown
+ A list of all search paths to use for this module
+
+
+
+ Gets all module search paths. This is usually empty unless its assembly has
+ a .config file specifying any additional private search paths in a
+ <probing/> element.
+
+ The module or null if unknown
+ A list of search paths
+
+
+
+ Gets all private assembly search paths as found in the module's .config file.
+
+ The module or null if unknown
+ A list of search paths
+
+
+
+ See CorHdr.h/CorCallingConvention
+
+
+
+ The managed calling convention
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ generic method instantiation
+
+
+ used ONLY for 64bit vararg PInvoke calls
+
+
+ Calling convention is bottom 4 bits
+
+
+ Generic method
+
+
+ Method needs a 'this' parameter
+
+
+ 'this' parameter is the first arg if set (else it's hidden)
+
+
+ Used internally by the CLR
+
+
+
+ Base class for sigs with a calling convention
+
+
+
+
+ The calling convention
+
+
+
+
+ Gets/sets the extra data found after the signature
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if there's an implicit this parameter
+
+
+
+
+ true if this contains a
+ or a .
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The calling convention
+
+
+
+ Gets the calling convention
+
+
+
+
+ A field signature
+
+
+
+
+ Gets/sets the field type
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Field type
+
+
+
+ Constructor
+
+ Field type
+ The calling convention (must have Field set)
+
+
+
+ Clone this
+
+
+
+
+
+
+
+ Method sig base class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the calling convention
+
+
+
+
+ Gets/sets the return type
+
+
+
+
+ Gets the parameters. This is never null
+
+
+
+
+ Gets/sets the generic param count
+
+
+
+
+ Gets the parameters that are present after the sentinel. Note that this is null
+ if there's no sentinel. It can still be empty even if it's not null.
+
+
+
+
+ A method signature
+
+
+
+
+ Gets/sets the original token. It's set when reading calli instruction operands
+ and it's a hint to the module writer if it tries to re-use the same token.
+
+
+
+
+ Creates a static MethodSig
+
+ Return type
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Argument types
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Argument types
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Arg type #1
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+ Parameters after sentinel
+
+
+
+ Clone this
+
+
+
+
+
+
+
+ A property signature
+
+
+
+
+ Creates a static PropertySig
+
+ Return type
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Argument types
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Argument types
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention (must have Property set)
+
+
+
+ Constructor
+
+ true if instance, false if static
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Arg type #1
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Argument types
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+ Parameters after sentinel
+
+
+
+ Clone this
+
+
+
+
+
+
+
+ A local variables signature
+
+
+
+
+ All local types. This is never null.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention (must have LocalSig set)
+ Number of locals
+
+
+
+ Constructor
+
+ Local type #1
+
+
+
+ Constructor
+
+ Local type #1
+ Local type #2
+
+
+
+ Constructor
+
+ Local type #1
+ Local type #2
+ Local type #3
+
+
+
+ Constructor
+
+ All locals
+
+
+
+ Constructor
+
+ All locals
+
+
+
+ Constructor
+
+ All locals (this instance now owns it)
+ Dummy
+
+
+
+ Clone this
+
+
+
+
+ An instantiated generic method signature
+
+
+
+
+ Gets the generic arguments (must be instantiated types, i.e., closed types)
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention (must have GenericInst set)
+ Number of generic args
+
+
+
+ Constructor
+
+ Generic arg #1
+
+
+
+ Constructor
+
+ Generic arg #1
+ Generic arg #2
+
+
+
+ Constructor
+
+ Generic arg #1
+ Generic arg #2
+ Generic arg #3
+
+
+
+ Constructor
+
+ Generic args
+
+
+
+ Constructor
+
+ Generic args
+
+
+
+ Clone this
+
+
+
+
+ A high-level representation of a row in the ClassLayout table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+ From column ClassLayout.PackingSize
+
+
+
+
+
+
+
+ From column ClassLayout.ClassSize
+
+
+
+
+
+
+
+ A ClassLayout row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ PackingSize
+ ClassSize
+
+
+
+ Created from a row in the ClassLayout table
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ClassLayout row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ A high-level representation of a row in the Constant table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+ From column Constant.Type
+
+
+
+
+
+
+
+ From column Constant.Value
+
+
+
+
+
+
+
+ A Constant row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Value
+
+
+
+ Constructor
+
+ Value
+ Type
+
+
+
+ Created from a row in the Constant table
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Constant row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Default implementation of
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The owner module
+
+
+
+ Constructor
+
+ The owner module
+ Corlib assembly reference or null if a default
+ assembly reference should be created
+
+
+
+
+
+
+ Gets the required alignment for the stubs, must be a power of 2
+
+ Stub type
+
+
+
+
+ Gets the size of a stub, it doesn't have to be a multiple of
+
+ Stub type
+
+
+
+
+ Gets the offset of the code (entry point) relative to the start of the stub
+
+ Stub type
+
+
+
+
+ Gets the RVA of the func field that the stub jumps to
+
+ Reader, positioned at the stub func
+ PE image
+ Updated with RVA of func field
+
+
+
+
+ Writes stub relocs, if needed
+
+ Stub type
+ Reloc directory
+ The chunk where this stub will be written to
+ Offset of this stub in
+
+
+
+ Writes the stub that jumps to the managed function
+
+ Stub type
+ Writer
+ Image base
+ RVA of this stub
+ RVA of a pointer-sized field that contains the absolute address of the managed function
+
+
+
+ A custom attribute
+
+
+
+
+ Gets/sets the custom attribute constructor
+
+
+
+
+ Gets the attribute type
+
+
+
+
+ Gets the full name of the attribute type
+
+
+
+
+ true if the raw custom attribute blob hasn't been parsed
+
+
+
+
+ Gets the raw custom attribute blob or null if the CA was successfully parsed.
+
+
+
+
+ Gets all constructor arguments
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all named arguments (field and property values)
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all s that are field arguments
+
+
+
+
+ Gets all s that are property arguments
+
+
+
+
+ Gets the #Blob offset or 0 if unknown
+
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Raw custom attribute blob
+
+
+
+ Constructor
+
+ Custom attribute constructor
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments or null if none
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Named arguments or null if none
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments or null if none
+ Named arguments or null if none
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments or null if none
+ Named arguments or null if none
+ Original custom attribute #Blob offset or 0
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments. The list is now owned by this instance.
+ Named arguments. The list is now owned by this instance.
+ Original custom attribute #Blob offset or 0
+
+
+
+ Gets the field named
+
+ Name of field
+ A instance or null if not found
+
+
+
+ Gets the field named
+
+ Name of field
+ A instance or null if not found
+
+
+
+ Gets the property named
+
+ Name of property
+ A instance or null if not found
+
+
+
+ Gets the property named
+
+ Name of property
+ A instance or null if not found
+
+
+
+ Gets the property/field named
+
+ Name of property/field
+ true if it's a field, false if it's a property
+ A instance or null if not found
+
+
+
+ Gets the property/field named
+
+ Name of property/field
+ true if it's a field, false if it's a property
+ A instance or null if not found
+
+
+
+
+
+
+ A custom attribute constructor argument
+
+
+
+
+ Gets/sets the argument type
+
+
+
+
+ Gets/sets the argument value
+
+
+
+
+ Constructor
+
+ Argument type
+
+
+
+ Constructor
+
+ Argument type
+ Argument value
+
+
+
+ Clones this instance and any s and s
+ referenced from this instance.
+
+
+
+
+
+
+
+
+ A custom attribute field/property argument
+
+
+
+
+ true if it's a field
+
+
+
+
+ true if it's a property
+
+
+
+
+ Gets/sets the field/property type
+
+
+
+
+ Gets/sets the property/field name
+
+
+
+
+ Gets/sets the argument
+
+
+
+
+ Gets/sets the argument type
+
+
+
+
+ Gets/sets the argument value
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ true if field, false if property
+
+
+
+ Constructor
+
+ true if field, false if property
+ Field/property type
+
+
+
+ Constructor
+
+ true if field, false if property
+ Field/property type
+ Name of field/property
+
+
+
+ Constructor
+
+ true if field, false if property
+ Field/property type
+ Name of field/property
+ Field/property argument
+
+
+
+ Clones this instance and any s referenced from this instance.
+
+
+
+
+
+
+
+
+ Stores s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Initial length of the list
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ Checks whether a custom attribute is present
+
+ Full name of custom attribute type
+ true if the custom attribute type is present, false otherwise
+
+
+
+ Removes all custom attributes of a certain type
+
+ Full name of custom attribute type that should be removed
+
+
+
+ Finds a custom attribute
+
+ Full name of custom attribute type
+ A or null if it wasn't found
+
+
+
+ Finds all custom attributes of a certain type
+
+ Full name of custom attribute type
+ All s of the requested type
+
+
+
+ Finds a custom attribute
+
+ Custom attribute type
+ The first found or null if none found
+
+
+
+ Finds a custom attribute
+
+ Custom attribute type
+ Attribute type comparison flags
+ The first found or null if none found
+
+
+
+ Finds all custom attributes of a certain type
+
+ Custom attribute type
+ All s of the requested type
+
+
+
+ Finds all custom attributes of a certain type
+
+ Custom attribute type
+ Attribute type comparison flags
+ All s of the requested type
+
+
+
+ Searches for a type according to custom attribute search rules: first try the
+ current assembly, and if that fails, try mscorlib
+
+
+
+
+ Constructor
+
+ The module to search first
+
+
+
+
+
+
+ Thrown by CustomAttributeReader when it fails to parse a custom attribute blob
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ Other exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ Reads custom attributes from the #Blob stream
+
+
+
+
+ Reads a custom attribute
+
+ Reader module
+ Custom attribute constructor
+ Offset of custom attribute in the #Blob stream
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Reader module
+ Custom attribute constructor
+ Offset of custom attribute in the #Blob stream
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ CA blob
+ Custom attribute constructor
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ A reader positioned at the the first byte of the CA blob
+ Custom attribute constructor
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ CA blob
+ Custom attribute constructor
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ A stream positioned at the the first byte of the CA blob
+ Custom attribute constructor
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ A stream positioned at the the first byte of the CA blob
+ Custom attribute constructor
+ Generic parameter context
+ A new instance
+
+
+
+ Reads custom attribute named arguments
+
+ Owner module
+ A reader positioned at the the first byte of the CA blob
+ Number of named arguments to read from
+ Generic parameter context
+ A list of s or null if some error
+ occurred.
+
+
+
+ Gets the enum's underlying type
+
+ An enum type
+ The underlying type or null if we couldn't resolve the type ref
+ If is not an enum or null
+
+
+
+ Converts to a , possibly resolving
+ a
+
+ The type
+ A or null if we couldn't resolve the
+ or if is a type spec
+
+
+
+ A high-level representation of a row in the DeclSecurity table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column DeclSecurity.Action
+
+
+
+
+
+
+
+ From column DeclSecurity.PermissionSet
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the blob data or null if there's none
+
+ Blob data or null
+
+
+
+ Returns the .NET 1.x XML string or null if it's not a .NET 1.x format
+
+
+
+
+
+ A DeclSecurity row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The security action
+ The security attributes (now owned by this)
+
+
+
+
+
+
+ Created from a row in the DeclSecurity table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this DeclSecurity row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ Reads DeclSecurity blobs
+
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ #Blob offset of DeclSecurity signature
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ #Blob offset of DeclSecurity signature
+ Generic parameter context
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity blob
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity blob
+ Generic parameter context///
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity stream that will be owned by us
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity stream that will be owned by us
+ Generic parameter context
+ A list of s
+
+
+
+ Reads the new (.NET 2.0+) DeclSecurity blob format
+
+
+
+
+
+ Reads the old (.NET 1.x) DeclSecurity blob format
+
+
+
+
+
+ See CorHdr.h/CorElementType
+
+
+
+
+
+
+ System.Void
+
+
+ System.Boolean
+
+
+ System.Char
+
+
+ System.SByte
+
+
+ System.Byte
+
+
+ System.Int16
+
+
+ System.UInt16
+
+
+ System.Int32
+
+
+ System.UInt32
+
+
+ System.Int64
+
+
+ System.UInt64
+
+
+ System.Single
+
+
+ System.Double
+
+
+ System.String
+
+
+ Pointer type (*)
+
+
+ ByRef type (&)
+
+
+ Value type
+
+
+ Reference type
+
+
+ Type generic parameter
+
+
+ Multidimensional array ([*], [,], [,,], ...)
+
+
+ Generic instance type
+
+
+ Typed byref
+
+
+ Value array (don't use)
+
+
+ System.IntPtr
+
+
+ System.UIntPtr
+
+
+ native real (don't use)
+
+
+ Function pointer
+
+
+ System.Object
+
+
+ Single-dimension, zero lower bound array ([])
+
+
+ Method generic parameter
+
+
+ Required C modifier
+
+
+ Optional C modifier
+
+
+ Used internally by the CLR (don't use)
+
+
+ Module (don't use)
+
+
+ Sentinel (method sigs only)
+
+
+ Pinned type (locals only)
+
+
+
+ A CIL opcode. If the high byte is 0 or if it's , it's a 1-byte opcode,
+ else it's a two-byte opcode and the highest byte is the first byte of the opcode.
+
+
+
+
+ Extension methods
+
+
+
+
+ Converts a to an
+
+ The code
+ A or null if it's invalid
+
+
+
+ Gets the opcode or if is null
+
+ this
+
+
+
+
+ Gets the operand or null if is null
+
+ this
+
+
+
+
+ Gets the offset or 0 if is null
+
+ this
+
+
+
+
+ Gets the sequence point or null if is null
+
+ this
+
+
+
+
+ Resolves a token
+
+ An object
+ The metadata token
+ A or null if is invalid
+
+
+
+ options
+
+
+
+
+ No option is enabled
+
+
+
+
+ Some fields/methods have an unknown declaring type and don't have a context with
+ that information. If this is enabled, the reader will try to guess it but it doesn't
+ always work. If you get an , try enabling this option.
+
+
+
+
+ Reads code from a DynamicMethod
+
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+ Generic parameter context
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+ Importer
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+ Importer
+ Options
+
+
+
+ Reads the code
+
+
+
+
+
+ Returns the created method. Must be called after .
+
+ A new instance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A CIL method exception handler
+
+
+
+
+ First instruction of try block
+
+
+
+
+ One instruction past the end of try block or null if it ends at the end
+ of the method.
+
+
+
+
+ Start of filter handler or null if none. The end of filter handler is
+ always .
+
+
+
+
+ First instruction of try handler block
+
+
+
+
+ One instruction past the end of try handler block or null if it ends at the end
+ of the method.
+
+
+
+
+ The catch type if is
+
+
+
+
+ Type of exception handler clause
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception clause type
+
+
+
+ Type of exception handler. See CorHdr.h/CorExceptionFlag
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CIL opcode flow control
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A CIL instruction (opcode + operand)
+
+
+
+
+ The opcode
+
+
+
+
+ The opcode operand
+
+
+
+
+ Offset of the instruction in the method body
+
+
+
+
+ PDB sequence point or null if none
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Opcode
+
+
+
+ Constructor
+
+ Opcode
+ The operand
+
+
+
+ Creates a new instruction with no operand
+
+ The opcode
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with an operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a string operand
+
+ The opcode
+ The string
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target operand
+
+ The opcode
+ Target instruction
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target list operand
+
+ The opcode
+ The targets
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The opcode
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The opcode
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a method/field operand
+
+ The opcode
+ The method/field
+ A new instance
+
+
+
+ Creates a new instruction with a field operand
+
+ The opcode
+ The field
+ A new instance
+
+
+
+ Creates a new instruction with a method operand
+
+ The opcode
+ The method
+ A new instance
+
+
+
+ Creates a new instruction with a token operand
+
+ The opcode
+ The token
+ A new instance
+
+
+
+ Creates a new instruction with a method signature operand
+
+ The opcode
+ The method signature
+ A new instance
+
+
+
+ Creates a new instruction with a method parameter operand
+
+ The opcode
+ The method parameter
+ A new instance
+
+
+
+ Creates a new instruction with a method local operand
+
+ The opcode
+ The method local
+ A new instance
+
+
+
+ Creates a ldci4 instruction
+
+ Operand value
+ A new instance
+
+
+
+ Gets the size in bytes of the instruction
+
+
+
+
+
+ Updates with the new stack size
+
+ Current stack size
+
+
+
+ Updates with the new stack size
+
+ Current stack size
+ true if the method has a return value,
+ false otherwise
+
+
+
+ Calculates stack usage
+
+ Updated with number of stack pushes
+ Updated with number of stack pops or -1 if the stack should
+ be cleared.
+
+
+
+ Calculates stack usage
+
+ true if method has a return value
+ Updated with number of stack pushes
+ Updated with number of stack pops or -1 if the stack should
+ be cleared.
+
+
+
+ Checks whether it's one of the leave instructions
+
+
+
+
+ Checks whether it's one of the br instructions
+
+
+
+
+ Checks whether it's one of the brfalse instructions
+
+
+
+
+ Checks whether it's one of the brtrue instructions
+
+
+
+
+ Checks whether it's one of the conditional branch instructions (bcc, brtrue, brfalse)
+
+
+
+
+ Checks whether this is one of the ldc.i4 instructions
+
+
+
+
+ Returns a ldc.i4 instruction's operand
+
+ The integer value
+ isn't one of the
+ ldc.i4 opcodes
+
+
+
+ Checks whether it's one of the ldarg instructions, but does not check
+ whether it's one of the ldarga instructions.
+
+
+
+
+ Checks whether it's one of the ldloc instructions, but does not check
+ whether it's one of the ldloca instructions.
+
+
+
+
+ Checks whether it's one of the starg instructions
+
+
+
+
+ Checks whether it's one of the stloc instructions
+
+
+
+
+ Returns the local if it's a ldloc, stloc or ldloca instruction
+
+ The locals
+ The local or null if it's not a ldloc, stloc or ldloca
+ instruction or if the local doesn't exist.
+
+
+
+ Gets the index of the instruction's parameter operand or -1 if the parameter
+ is missing or if it's not an instruction with a parameter operand.
+
+
+
+
+ Returns a method parameter
+
+ All parameters
+ A parameter or null if it doesn't exist
+
+
+
+ Returns an argument type
+
+ Method signature
+ Declaring type (only needed if it's an instance method)
+ The type or null if it doesn't exist
+
+
+
+ Clone this instance. The and fields
+ are shared by this instance and the created instance.
+
+
+
+
+
+
+
+ Converts instructions to strings
+
+
+
+
+ Converts an instruction to a string
+
+ The instruction
+ The result
+
+
+
+ Gets the instruction's operand as a string
+
+ The instruction
+ The operand as a string
+
+
+
+ Add an instruction's operand to
+
+ Place result here
+ The instruction
+
+
+
+ Add an instruction's operand to
+
+ Place result here
+ The instruction
+ A string that will be added before the operand, if there's
+ an operand.
+
+
+
+ Thrown when invalid data is detected while parsing a .NET method
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ The inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ A collection of s
+
+
+
+
+ Gets the number of locals
+
+
+
+
+ Gets the list of locals
+
+
+
+
+ Gets the N'th local
+
+ The local index
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ All locals that will be owned by this instance
+
+
+
+ Adds a new local and then returns it
+
+ The local that should be added to the list
+ The input is always returned
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A method local
+
+
+
+
+ Gets/sets the type of the local
+
+
+
+
+ Local index
+
+
+
+
+ Gets the name. This property is obsolete, use to get/set the name stored in the PDB file.
+
+
+
+
+ Gets the attributes. This property is obsolete, use to get/set the attributes stored in the PDB file.
+
+
+
+
+ Constructor
+
+ The type
+
+
+
+ Constructor
+
+ The type
+ Name of local
+
+
+
+ Constructor
+
+ The type
+ Name of local
+ Index, should only be used if you don't add it to the locals list
+
+
+
+
+
+
+ Method body base class
+
+
+
+
+ A native method body
+
+
+
+
+ Gets/sets the RVA of the native method body
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ RVA of method body
+
+
+
+ CIL (managed code) body
+
+
+
+
+ Size of a small header
+
+
+
+
+ Gets/sets a flag indicating whether the original max stack value should be used.
+
+
+
+
+ Gets/sets the init locals flag. This is only valid if the method has any locals.
+
+
+
+
+ Gets/sets the size in bytes of the method body header. The instructions immediately follow
+ the header.
+
+
+
+
+ true if it was a small body header ( is 1)
+
+
+
+
+ true if it was a big body header
+
+
+
+
+ Gets/sets max stack value from the fat method header.
+
+
+
+
+ Gets/sets the locals metadata token
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the instructions
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the exception handlers
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the locals
+
+
+
+
+ Gets/sets the PDB method. This is null if no PDB has been loaded or if there's
+ no PDB info for this method.
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the total size of the body in the PE file, including header, IL bytes, and exception handlers.
+ This property returns 0 if the size is unknown.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Init locals flag
+ All instructions. This instance will own the list.
+ All exception handlers. This instance will own the list.
+ All locals. This instance will own the locals in the list.
+
+
+
+ Shorter instructions are converted to the longer form, eg. Ldc_I4_1 is
+ converted to Ldc_I4 with a 1 as the operand.
+
+ All method parameters, including the hidden 'this' parameter
+ if it's an instance method. Use .
+
+
+
+ Optimizes instructions by using the shorter form if possible. Eg. Ldc_I4 1
+ will be replaced with Ldc_I4_1.
+
+
+
+
+ Short branch instructions are converted to the long form, eg. Beq_S is
+ converted to Beq.
+
+
+
+
+ Optimizes branches by using the smallest possible branch
+
+
+
+
+ Updates each instruction's offset
+
+ Total size in bytes of all instructions
+
+
+
+ Reads strings from #US heap
+
+
+
+
+ Reads a string from the #US heap
+
+ String token
+ A string
+
+
+
+ Resolves instruction operands
+
+
+
+
+ Reads a .NET method body (header, locals, instructions, exception handlers)
+
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+ Method header flags, eg. 2 if tiny method
+ Max stack
+ Code size
+ Local variable signature token or 0 if none
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+ Method header flags, eg. 2 if tiny method
+ Max stack
+ Code size
+ Local variable signature token or 0 if none
+ Generic parameter context
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+ Generic parameter context
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+ Generic parameter context
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+ Generic parameter context
+
+
+
+ Initializes the method header
+
+ Header flags, eg. 2 if it's a tiny method
+ Max stack
+ Code size
+ Local variable signature token
+
+
+
+ Reads the method body header, locals, all instructions, and the exception handlers (if any)
+
+ true if it worked, and false if something failed
+
+
+
+ Reads the method header
+
+
+
+
+ Reads the locals
+
+ All locals or null if there are none
+
+
+
+ Reads all instructions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reads all exception handlers
+
+
+
+
+ Creates a CIL body. Must be called after , and can only be
+ called once.
+
+ A new instance
+
+
+
+ Method body reader base class
+
+
+
+ The method reader
+
+
+ All parameters
+
+
+ All locals
+
+
+ All instructions
+
+
+ All exception handlers
+
+
+ First byte after the end of the code
+
+
+ Start offset of method
+
+
+
+ Gets all parameters
+
+
+
+
+ Gets all locals
+
+
+
+
+ Gets all instructions
+
+
+
+
+ Gets all exception handlers
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ The reader
+
+
+
+ Constructor
+
+ The reader
+ Method parameters or null if they're not known yet
+
+
+
+ Sets new locals
+
+ A list of types of all locals or null if none
+
+
+
+ Sets new locals
+
+ A list of types of all locals or null if none
+
+
+
+ Reads all instructions
+
+ Number of instructions to read
+
+
+
+ Reads all instructions
+
+ Size of code
+
+
+
+ Fixes all branch instructions so their operands are set to an
+ instead of an offset.
+
+
+
+
+ Finds an instruction
+
+ Offset of instruction
+ The instruction or null if there's no instruction at .
+
+
+
+ Finds an instruction and throws if it's not present
+
+ Offset of instruction
+ The instruction
+ There's no instruction at
+
+
+
+
+ Reads the next instruction
+
+
+
+
+ Reads the next OpCode from the current position
+
+
+
+
+ Reads the instruction operand (if any)
+
+ The instruction
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a parameter) operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a local) operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a parameter) operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a local) operand
+
+ The current instruction
+ The operand
+
+
+
+ Returns true if it's one of the ldarg/starg instructions that have an operand
+
+ The instruction to check
+
+
+
+ Returns a parameter
+
+ A parameter index
+ A or null if is invalid
+
+
+
+ Returns a local
+
+ A local index
+ A or null if is invalid
+
+
+
+ Add an exception handler if it appears valid
+
+ The exception handler
+ true if it was added, false otherwise
+
+
+
+ Gets the offset of an instruction
+
+ The instruction or null if the offset is the first offset
+ at the end of the method.
+ The instruction offset
+
+
+
+ Restores a 's body with the parsed method instructions
+ and exception handlers
+
+ The method that gets updated with the instructions, locals, and
+ exception handlers.
+
+
+
+ Converts a type address to a . The address can be found in
+ RuntimeTypeHandle.Value and it's the same address you use with the WinDbg SOS command
+ !dumpmt.
+
+
+
+
+ Converts to a .
+
+ Address of type
+ The or null
+
+
+
+ Instruction utility methods
+
+
+
+
+ Shorter instructions are converted to the longer form, eg. Ldc_I4_1 is
+ converted to Ldc_I4 with a 1 as the operand.
+
+ All instructions
+ All locals
+ All method parameters, including the hidden 'this' parameter
+ if it's an instance method. Use .
+
+
+
+ Optimizes instructions by using the shorter form if possible. Eg. Ldc_I4 1
+ will be replaced with Ldc_I4_1.
+
+ All instructions
+
+
+
+ Short branch instructions are converted to the long form, eg. Beq_S is
+ converted to Beq.
+
+ All instructions
+
+
+
+ Optimizes branches by using the smallest possible branch
+
+ All instructions
+
+
+
+ Updates each instruction's offset
+
+ All instructions
+ Total size in bytes of all instructions
+
+
+
+ A CIL opcode
+
+
+
+
+ The opcode name
+
+
+
+
+ The opcode as a enum
+
+
+
+
+ Operand type
+
+
+
+
+ Flow control info
+
+
+
+
+ Opcode type
+
+
+
+
+ Push stack behavior
+
+
+
+
+ Pop stack behavior
+
+
+
+
+ Gets the value which is compatible with
+
+
+
+
+ Gets the size of the opcode. It's either 1 or 2 bytes.
+
+
+
+
+ Creates a new instruction with no operand
+
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with an operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a string operand
+
+ The string
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target operand
+
+ Target instruction
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target list operand
+
+ The targets
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a method/field operand
+
+ The method/field
+ A new instance
+
+
+
+ Creates a new instruction with a field operand
+
+ The field
+ A new instance
+
+
+
+ Creates a new instruction with a method operand
+
+ The method
+ A new instance
+
+
+
+ Creates a new instruction with a token operand
+
+ The token
+ A new instance
+
+
+
+ Creates a new instruction with a method signature operand
+
+ The method signature
+ A new instance
+
+
+
+ Creates a new instruction with a method parameter operand
+
+ The method parameter
+ A new instance
+
+
+
+ Creates a new instruction with a method local operand
+
+ The method local
+ A new instance
+
+
+
+
+
+
+ Contains all valid CIL opcodes
+
+
+
+
+ All one-byte opcodes
+
+
+
+
+ All two-byte opcodes (first byte is 0xFE)
+
+
+
+
+ CIL opcode type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CIL opcode operand type
+
+
+
+ 4-byte relative instruction offset
+
+
+ 4-byte field token ( or )
+
+
+ int32
+
+
+ int64
+
+
+ 4-byte method token (,
+ or )
+
+
+ No operand
+
+
+ Never used
+
+
+ 64-bit real
+
+
+
+
+
+ 4-byte method sig token ()
+
+
+ 4-byte string token (0x70xxxxxx)
+
+
+ 4-byte count N followed by N 4-byte relative instruction offsets
+
+
+ 4-byte token (, ,
+ , , ,
+ or )
+
+
+ 4-byte type token (, or
+ )
+
+
+ 2-byte param/local index
+
+
+ 1-byte relative instruction offset
+
+
+ 1-byte sbyte () or byte (the rest)
+
+
+ 32-bit real
+
+
+ 1-byte param/local index
+
+
+
+ CIL opcode stack behavior
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Event attributes, see CorHdr.h/CorEventAttr
+
+
+
+ event is special. Name describes how.
+
+
+ Runtime(metadata internal APIs) should check name encoding.
+
+
+
+ A high-level representation of a row in the Event table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Event.EventFlags
+
+
+
+
+
+
+
+ From column Event.Name
+
+
+
+ Name
+
+
+
+ From column Event.EventType
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the adder method
+
+
+
+
+ Gets/sets the invoker method
+
+
+
+
+ Gets/sets the remover method
+
+
+
+
+ Gets the other methods
+
+
+
+
+ Initializes , ,
+ and .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reset , , ,
+
+
+
+ true if there are no methods attached to this event
+
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+
+ Gets the full name of the event
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+ An Event row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Type
+
+
+
+ Constructor
+
+ Name
+ Type
+ Flags
+
+
+
+ Created from a row in the Event table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Event row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ A high-level representation of a row in the ExportedType table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always returns false since a does not contain any
+ or .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column ExportedType.Flags
+
+
+
+ Attributes
+
+
+
+ From column ExportedType.TypeDefId
+
+
+
+
+
+
+
+ From column ExportedType.TypeName
+
+
+
+
+
+
+
+ From column ExportedType.TypeNamespace
+
+
+
+
+
+
+
+ From column ExportedType.Implementation
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ true if it's nested within another
+
+
+
+
+ Gets the declaring type, if any
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the layout
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the string format
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit. See also
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if this type has been moved to another assembly
+
+
+
+
+ Resolves the type
+
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ Source module or null
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Converts this instance to a
+
+ A new instance
+
+
+
+
+
+
+ An ExportedType row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Constructor
+
+ Owner module
+ TypeDef ID
+ Type name
+ Type namespace
+ Flags
+ Implementation
+
+
+
+ Created from a row in the ExportedType table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ExportedType row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Field flags, see CorHdr.h/CorFieldAttr
+
+
+
+ member access mask - Use this mask to retrieve accessibility information.
+
+
+ Member not referenceable.
+
+
+ Member not referenceable.
+
+
+ Accessible only by the parent type.
+
+
+ Accessible by sub-types only in this Assembly.
+
+
+ Accessibly by anyone in the Assembly.
+
+
+ Accessible only by type and sub-types.
+
+
+ Accessibly by sub-types anywhere, plus anyone in assembly.
+
+
+ Accessibly by anyone who has visibility to this scope.
+
+
+ Defined on type, else per instance.
+
+
+ Field may only be initialized, not written to after init.
+
+
+ Value is compile time constant.
+
+
+ Field does not have to be serialized when type is remoted.
+
+
+ field is special. Name describes how.
+
+
+ Implementation is forwarded through pinvoke.
+
+
+ Runtime(metadata internal APIs) should check name encoding.
+
+
+ Field has marshalling information.
+
+
+ Field has default.
+
+
+ Field has RVA.
+
+
+
+ A high-level representation of a row in the Field table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ From column Field.Flags
+
+
+
+ Attributes
+
+
+
+ From column Field.Name
+
+
+
+ Name
+
+
+
+ From column Field.Signature
+
+
+
+
+
+
+
+ Gets/sets the field layout offset
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets/sets the field RVA
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets/sets the initial value. Be sure to set to true if
+ you write to this field.
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+
+
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+ Gets/sets the
+
+
+
+
+
+
+
+ true if is not null
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the constant element type or if there's no constant
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets/sets the field type
+
+
+
+
+ Modify field: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the field access
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Returns the full name of this field
+
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+ Updated with size
+ true if is valid, false otherwise
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+ The declaring type of this
+ The field signature of this
+ Updated with size
+ true if is valid, false otherwise
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+ The declaring type of this
+ The field signature of this
+ Size of a pointer
+ Updated with size
+ true if is valid, false otherwise
+
+
+
+
+
+
+ A Field row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Signature
+
+
+
+ Constructor
+
+ Name
+ Signature
+ Flags
+
+
+
+ Created from a row in the Field table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Field row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ File row flags. See CorHdr.h/CorFileFlags
+
+
+
+ This is not a resource file
+
+
+ This is a resource file or other non-metadata-containing file
+
+
+
+ A high-level representation of a row in the File table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column File.Flags
+
+
+
+ Attributes
+
+
+
+ From column File.Name
+
+
+
+ Name
+
+
+
+ From column File.HashValue
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+
+
+
+ A File row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name of file
+ Flags
+ File hash
+
+
+
+ Created from a row in the File table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this File row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Redirects .NET framework assembly references from older to newer versions
+
+
+
+
+ Redirects a .NET Framework assembly from an older version to the correct version
+ loaded at runtime.
+
+ Current assembly reference that might get updated
+ Module using the assembly reference
+
+
+
+ Tries to redirect a .NET Framework assembly from an older version to the correct version
+ loaded at runtime.
+
+ Assembly reference
+ Module using the assembly reference
+ Updated with the redirected assembly if successful
+
+
+
+
+ Redirects a .NET Framework 2.0-3.5 assembly from an older version to the correct version
+ loaded at runtime.
+
+ Current assembly reference that might get updated
+
+
+
+ Redirects a .NET Framework 4.0+ assembly from an older version to the correct version
+ loaded at runtime.
+
+ Current assembly reference that might get updated
+
+
+
+ Tries to redirect a .NET Framework 2.0-3.5 assembly from an older version to the correct version
+ loaded at runtime.
+
+ Assembly reference
+ Updated with the redirected assembly if successful
+
+
+
+
+ Tries to redirect a .NET Framework 4.0+ assembly from an older version to the correct version
+ loaded at runtime.
+
+ Assembly reference
+ Updated with the redirected assembly if successful
+
+
+
+
+ Helps create a name
+
+
+
+
+ Checks whether the assembly name should be included when printing
+ the full type name. The assembly name isn't required in custom attributes
+ when the type already exists in the same module as the CA, or if the type
+ exists in mscorlib.
+
+ The type (TypeDef, TypeRef or ExportedType)
+ or null
+ true if the assembly name must be included, false otherwise
+
+
+
+ Creates type names, method names, etc.
+
+
+
+
+ Checks whether the assembly name should be included when printing the full name.
+ See for more info.
+
+ Owner module
+ The type (TypeDef, TypeRef or ExportedType)
+ or null
+ true if the assembly name must be included, false otherwise
+
+
+
+ Checks whether the assembly name should be included when printing the full name.
+ See for more info.
+
+ Owner module
+ The type (TypeDef, TypeRef or ExportedType)
+ or null
+ If false, don't add an assembly name if it's a type in ,
+ if true, don't add an assembly name if it's a type in or the corlib.
+ true if the assembly name must be included, false otherwise
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The IType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The IType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Property signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Property signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Event type
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Event type
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a field
+
+ Declaring type full name or null if none
+ Name of field
+ Field signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Field full name
+
+
+
+ Returns the full name of a field
+
+ Declaring type full name or null if none
+ Name of field
+ Field signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Field full name
+
+
+
+ Returns the full name of a method
+
+ Declaring type full name or null if none
+ Name of method or null if none
+ Method signature
+ Type generic arguments or null if none
+ Method generic arguments or null if none
+ Generic parameter owner method or null
+ String builder to use or null
+ Method full name
+
+
+
+ Returns the full name of a method
+
+ Declaring type full name or null if none
+ Name of method or null if none
+ Method signature
+ Type generic arguments or null if none
+ Method generic arguments or null if none
+ Generic parameter owner method or null
+ String builder to use or null
+ Method full name
+
+
+
+ Returns the full name of a property sig
+
+ Property sig
+ String builder to use or null
+ Property sig full name
+
+
+
+ Returns the full name of a property sig
+
+ Property sig
+ String builder to use or null
+ Property sig full name
+
+
+
+ Returns the full name of a sig
+
+ Declaring type or null
+ Name or null
+ Method sig
+ Owner method or null
+ String builder to use or null
+ Sig full name
+
+
+
+ Returns the full name of a sig
+
+ Declaring type or null
+ Name or null
+ Method sig
+ Owner method or null
+ String builder to use or null
+ Sig full name
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeRef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeRef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeRef
+ A or null if none found
+
+
+
+ Gets the scope
+
+ The TypeRef
+ The or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeRef
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeDef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeDef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeDef
+ A or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeDef
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSpec
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSpec
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeSpec
+ A or null if none found
+
+
+
+ Gets the scope type
+
+ The TypeSpec
+ The scope type or null if none found
+
+
+
+ Gets the scope
+
+ The TypeSpec
+ The or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeSpec
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ Helps print the name
+ Type generic args or null if none
+ Method generic args or null if none
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ Helps print the name
+ Type generic args or null if none
+ Method generic args or null if none
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSig
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSig
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeSig
+ A or null if none found
+
+
+
+ Gets the scope
+
+ The TypeSig
+ The or null if none found
+
+
+
+ Gets the scope type
+
+ The TypeSig
+ The scope type or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeSig
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The ExportedType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The ExportedType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The ExportedType
+ A or null if none found
+
+
+
+ Gets the scope type
+
+ The ExportedType
+ The scope type or null if none found
+
+
+
+ Gets the scope
+
+ The ExportedType
+ The or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The ExportedType
+ A or null if none found
+
+
+
+
+
+
+ Constructor
+
+ true if it's for generic types, false if generic methods
+
+
+
+ Pushes generic arguments
+
+ The generic arguments
+
+
+
+ Pops generic arguments
+
+ The popped generic arguments
+
+
+
+ Resolves a generic argument
+
+ Generic variable number
+ A or null if none was found
+
+
+
+ Replaces generic type/method var with its generic argument
+
+
+
+
+ Pushes generic arguments
+
+ The generic arguments
+
+
+
+ Pops generic arguments
+
+ The popped generic arguments
+
+
+
+ Pushes generic arguments
+
+ The generic arguments
+
+
+
+ Pops generic arguments
+
+ The popped generic arguments
+
+
+
+ Replaces a generic type/method var with its generic argument (if any). If
+ isn't a generic type/method var or if it can't
+ be resolved, it itself is returned. Else the resolved type is returned.
+
+ Type signature
+ New which is never null unless
+ is null
+
+
+
+ A high-level representation of a row in the GenericParam table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the owner type/method
+
+
+
+
+
+
+
+ Gets the declaring type or null if none or if is
+ not a
+
+
+
+
+
+
+
+ Gets the declaring method or null if none or if is
+ not a
+
+
+
+
+ From column GenericParam.Number
+
+
+
+
+
+
+
+ From column GenericParam.Flags
+
+
+
+ Attributes
+
+
+
+ From column GenericParam.Name
+
+
+
+ Name
+
+
+
+ From column GenericParam.Kind (v1.1 only)
+
+
+
+
+
+
+
+ Gets the generic param constraints
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if is not empty
+
+
+
+
+
+
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets variance (non, contra, co)
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the special constraint
+
+
+
+
+ true if there are no special constraints
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A GenericParam row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The generic param number
+
+
+
+ Constructor
+
+ The generic param number
+ Flags
+
+
+
+ Constructor
+
+ The generic param number
+ Flags
+ Name
+
+
+
+ Created from a row in the GenericParam table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this GenericParam row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ Generic parameter flags. See CorHdr.h/CorGenericParamAttr
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ type argument must be a reference type
+
+
+ type argument must be a value type but not Nullable
+
+
+ type argument must have a public default constructor
+
+
+
+ A high-level representation of a row in the GenericParamConstraint table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the owner generic param
+
+
+
+
+
+
+
+ From column GenericParamConstraint.Constraint
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ A GenericParamConstraintAssembly row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The constraint
+
+
+
+ Created from a row in the GenericParamConstraint table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this GenericParamConstraint row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Generic parameter context
+
+
+
+
+ Type context
+
+
+
+
+ Method context
+
+
+
+
+ true if and are both null
+
+
+
+
+ Creates a new instance and initializes the
+ field to 's
+ and the field to .
+
+ Method
+ A new instance
+
+
+
+ Creates a new instance and initializes the
+ field to and the field
+ to null
+
+ Type
+ A new instance
+
+
+
+ Constructor
+
+ Type context
+
+
+
+ Constructor. The field is set to null and NOT to
+ 's . Use
+ if you want that behavior.
+
+ Method context
+
+
+
+ Constructor
+
+ Type context
+ Method context
+
+
+
+ Resolves assemblies
+
+
+
+
+ Finds and returns an
+
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver or
+ null if the assembly couldn't be found.
+
+
+
+ The table row can be referenced by a MD token
+
+
+
+
+ Returns the metadata token
+
+
+
+
+ Gets/sets the row ID
+
+
+
+
+ All *MD classes implement this interface.
+
+
+
+
+ Gets the original row ID
+
+
+
+
+ An assembly. Implemented by , and
+ .
+
+
+
+
+ The assembly version
+
+
+
+
+ Assembly flags
+
+
+
+
+ Public key or public key token
+
+
+
+
+ Locale, aka culture
+
+
+
+
+ Gets the full name of the assembly but use a public key token
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+ Implemented by and , which are the only
+ valid managed entry point tokens.
+
+
+
+
+ Interface to access a module def/ref
+
+
+
+
+ Type of scope
+
+
+
+
+ It's an instance
+
+
+
+
+ It's a instance
+
+
+
+
+ It's a instance
+
+
+
+
+ Implemented by modules and assemblies
+
+
+
+
+ Gets the scope type
+
+
+
+
+ Gets the scope name
+
+
+
+
+ Interface to get the full name of a type, field, or method
+
+
+
+
+ Gets the full name
+
+
+
+
+ Simple name of implementer
+
+
+
+
+ Implemented by all member refs and types
+
+
+
+
+ Gets the owner module
+
+
+
+
+ Methods to check whether the implementer is a type or a method.
+
+
+
+
+ true if it's a type
+
+
+
+
+ true if it's a method
+
+
+
+
+ Implemented by types, fields, methods, properties, events
+
+
+
+
+ Gets the declaring type
+
+
+
+
+ true if it's a or a that's
+ referencing a field.
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ All member definitions implement this interface: ,
+ , , ,
+ , and .
+
+
+
+
+ Gets the declaring type
+
+
+
+
+ Implemented by the following classes: ,
+ , , ,
+ , , ,
+ and
+
+
+
+
+ Implemented by types and methods
+
+
+
+
+ Gets the number of generic parameters / arguments
+
+
+
+
+ Implemented by fields ( and )
+
+
+
+
+ Gets/sets the field signature
+
+
+
+
+ Implemented by methods (, and )
+
+
+
+
+ Method signature
+
+
+
+
+ Implemented by tables that can be a token in the ldtoken instruction
+
+
+
+
+ The table row can be referenced by a coded token
+
+
+
+
+ TypeDefOrRef coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ HasConstant coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets/sets the constant value
+
+
+
+
+ HasCustomAttribute coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+ true if is not empty
+
+
+
+
+ HasFieldMarshal coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets/sets the marshal type
+
+
+
+
+ true if is not null
+
+
+
+
+ HasDeclSecurity coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets the permission sets
+
+
+
+
+ true if is not empty
+
+
+
+
+ MemberRefParent coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ HasSemantic coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ MethodDefOrRef coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ MemberForwarded coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets/sets the impl map
+
+
+
+
+ true if is not null
+
+
+
+
+ Implementation coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ CustomAttributeType coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ ResolutionScope coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ TypeOrMethodDef coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets the generic parameters
+
+
+
+
+ true if is not empty
+
+
+
+
+ HasCustomDebugInformation interface
+
+
+
+
+ The custom debug information tag
+
+
+
+
+ Gets the custom debug infos
+
+
+
+
+ true if is not empty
+
+
+
+
+ Access to .NET core library's simple types
+
+
+
+
+ Gets a System.Void
+
+
+
+
+ Gets a System.Boolean
+
+
+
+
+ Gets a System.Char
+
+
+
+
+ Gets a System.SByte
+
+
+
+
+ Gets a System.Byte
+
+
+
+
+ Gets a System.Int16
+
+
+
+
+ Gets a System.UInt16
+
+
+
+
+ Gets a System.Int32
+
+
+
+
+ Gets a System.UInt32
+
+
+
+
+ Gets a System.Int64
+
+
+
+
+ Gets a System.UInt64
+
+
+
+
+ Gets a System.Single
+
+
+
+
+ Gets a System.Double
+
+
+
+
+ Gets a System.String
+
+
+
+
+ Gets a System.TypedReference
+
+
+
+
+ Gets a System.IntPtr
+
+
+
+
+ Gets a System.UIntPtr
+
+
+
+
+ Gets a System.Object
+
+
+
+
+ Gets the assembly reference to the core library
+
+
+
+
+ Gets a that references a type in the core library assembly
+
+ Namespace of type (eg. "System")
+ Name of type
+ A instance. This instance may be a cached instance.
+
+
+
+ Custom attribute interface. Implemented by and
+
+
+
+
+
+ Gets the attribute type
+
+
+
+
+ Gets the full name of the attribute type
+
+
+
+
+ Gets all named arguments (field and property values)
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all s that are field arguments
+
+
+
+
+ Gets all s that are property arguments
+
+
+
+
+ Interface to decrypt methods
+
+
+
+
+ Gets the method's body
+
+ Method rid
+ The found in the method's Method row
+ The method's parameters
+ Generic parameter context
+ Updated with the method's if this
+ method returns true
+ true if the method body was decrypted, false if the method isn't
+ encrypted and the default body reader code should be used.
+
+
+
+ Interface to decrypt strings
+
+
+
+
+ Reads a string
+
+ String token
+ A string or null if we should read it from the #US heap
+
+
+
+ events
+
+
+
+
+ An error was detected. An exception should normally be thrown but the error
+ can be ignored.
+
+
+
+
+ Just a warning and can be ignored.
+
+
+
+
+ A normal message
+
+
+
+
+ A verbose message
+
+
+
+
+ A very verbose message
+
+
+
+
+ Simple logger
+
+
+
+
+ Log something
+
+ Caller or null
+ Logger event
+ Format
+ Arguments
+
+
+
+ true if this event is ignored. If the event is ignored, the caller can
+ choose not to call . This is useful if it can take time to
+ prepare the message.
+
+ The logger event
+
+
+
+ Dummy logger which ignores all messages, but can optionally throw on errors.
+
+
+
+
+ It ignores everything and doesn't throw anything.
+
+
+
+
+ Throws a on errors, but ignores anything else.
+
+
+
+
+ Constructor
+
+ If non-null, this exception type is thrown on
+ errors. It must have a public constructor that takes a as the only
+ argument.
+
+
+
+
+
+
+
+
+
+ A high-level representation of a row in the ImplMap table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+ From column ImplMap.MappingFlags
+
+
+
+ Attributes
+
+
+
+ From column ImplMap.ImportName
+
+
+
+ Name
+
+
+
+ From column ImplMap.ImportScope
+
+
+
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the char set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets best fit
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets throw on unmappable char
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets calling convention
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Checks whether this is a certain P/Invoke method
+
+ Name of the DLL
+ Name of the function within the DLL
+ true if it's the specified P/Invoke method, else false
+
+
+
+ Checks whether this is a certain P/Invoke method
+
+ Name of the DLL
+ Name of the function within the DLL
+ Treat as Windows
+ true if it's the specified P/Invoke method, else false
+
+
+
+ An ImplMap row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Scope
+ Name
+ Flags
+
+
+
+ Created from a row in the ImplMap table
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ImplMap row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ options
+
+
+
+
+ Use s whenever possible if the is located
+ in this module.
+
+
+
+
+ Use s whenever possible if the is located
+ in this module.
+
+
+
+
+ Use s whenever possible if the is located
+ in this module.
+
+
+
+
+ Use s, s and s
+ whenever possible if the definition is located in this module.
+
+
+
+
+
+
+
+ Don't set this flag. For internal use only.
+
+
+
+
+ Re-maps entities that were renamed in the target module
+
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Overrides default behavior of
+ May be used to use reference assemblies for resolution, for example.
+
+ to create for.
+ or null to use default 's type resolution
+
+
+
+ Imports s, s, s
+ and s as references
+
+
+
+
+ Constructor
+
+ The module that will own all references
+
+
+
+ Constructor
+
+ The module that will own all references
+ Generic parameter context
+
+
+
+ Constructor
+
+ The module that will own all references
+ Importer options
+
+
+
+ Constructor
+
+ The module that will own all references
+ Importer options
+ Generic parameter context
+
+
+
+ Constructor
+
+ The module that will own all references
+ Importer options
+ Generic parameter context
+ Mapper for renamed entities
+
+
+
+ Imports a as a . If it's a type that should be
+ the declaring type of a field/method reference, call instead.
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a . Should be called if it's the
+ declaring type of a method/field reference. See also
+
+ The type
+
+
+
+
+ Imports a as a
+
+ The type
+ A list of all required modifiers or null
+ A list of all optional modifiers or null
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The type
+ A list of all required modifiers or null
+ A list of all optional modifiers or null
+ The imported type or null if is invalid
+
+
+
+ Imports a as a . This will be either
+ a or a .
+
+ The method
+ The imported method or null if is invalid
+ or if we failed to import the method
+
+
+
+ Imports a as a . This will be either
+ a or a .
+
+ The method
+ Always verify method signature to make sure the
+ returned reference matches the metadata in the source assembly
+ The imported method or null if is invalid
+ or if we failed to import the method
+
+
+
+ Imports a as a
+
+ The field
+ The imported field or null if is invalid
+ or if we failed to import the field
+
+
+
+ Imports a as a
+
+ The field
+ Always verify field signature to make sure the
+ returned reference matches the metadata in the source assembly
+ The imported field or null if is invalid
+ or if we failed to import the field
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a as an
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a as an
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The member ref
+ The imported member ref or null if is invalid
+
+
+
+ A high-level representation of a row in the InterfaceImpl table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column InterfaceImpl.Interface
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ An InterfaceImpl row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The interface the type implements
+
+
+
+ Created from a row in the InterfaceImpl table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this InterfaceImpl row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Resolves types, methods, fields
+
+
+
+
+ Resolves types
+
+
+
+
+ Resolves a type
+
+ The type
+ The module that needs to resolve the type or null
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves fields and methods
+
+
+
+
+ Resolves a method or a field
+
+ A method/field reference
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Resolves tokens
+
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Interface to get the full name of a type
+
+
+
+
+ true if it's a value type
+
+
+
+
+ Returns the name of this type
+
+
+
+
+ Returns the reflection name of this type
+
+
+
+
+ Returns the namespace of this type
+
+
+
+
+ Returns the reflection namespace of this type
+
+
+
+
+ Returns the reflection name of this type. See also .
+
+
+
+
+ Returns the reflection name of this type, and includes the assembly name where the
+ type is located. It can be passed to to
+ load the type.
+
+
+
+
+ Gets the assembly where this type is defined
+
+
+
+
+ Gets the scope, which is different from since it
+ can differentiate between modules within the same assembly.
+
+
+
+
+ Gets the type whose scope is returned by and whose assembly
+ is returned by . This is always a
+ , or null. It can also be a
+ nested .
+ For example, if this type is a System.String&, then this value is a System.String.
+ If it's a generic instance type (eg. List<int>), then the generic type is
+ returned (eg. List<T>). In other words, the first or
+ that is found (without searching generic arguments) is returned.
+
+
+
+
+ true if it's an integer or a floating point type
+
+
+
+
+ Implemented by types and calling convention signatures.
+
+
+
+
+ true if this contains a or a .
+
+
+
+
+ Finds s
+
+
+
+
+ Finds a
+
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing or null if it wasn't found.
+
+
+
+ Finds a . 's scope (i.e., module or
+ assembly) is ignored when looking up the type.
+
+ The type ref
+ An existing or null if it wasn't found.
+
+
+
+ Interface to access a local or a parameter
+
+
+
+
+ Gets the variable type
+
+
+
+
+ Gets the 0-based position
+
+
+
+
+ Gets/sets the variable name
+
+
+
+
+ A high-level representation of a row in the ManifestResource table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column ManifestResource.Offset
+
+
+
+
+
+
+
+ From column ManifestResource.Flags
+
+
+
+ Attributes
+
+
+
+ From column ManifestResource.Name
+
+
+
+ Name
+
+
+
+ From column ManifestResource.Implementation
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ A ManifestResource row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+ Implementation
+
+
+
+ Constructor
+
+ Name
+ Implementation
+ Flags
+
+
+
+ Constructor
+
+ Name
+ Implementation
+ Flags
+ Offset
+
+
+
+ Created from a row in the ManifestResource table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ManifestResource row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ ManifestResource flags. See CorHdr.h/CorManifestResourceFlags
+
+
+
+
+
+
+ The Resource is exported from the Assembly.
+
+
+ The Resource is private to the Assembly.
+
+
+
+ Reads s
+
+
+
+
+ Reads a from the #Blob heap
+
+ Module
+ Blob offset
+ A new instance
+
+
+
+ Reads a from the #Blob heap
+
+ Module
+ Blob offset
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ Marshal data
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ Marshal data
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ A reader that will be owned by us
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ A reader that will be owned by us
+ Generic parameter context
+ A new instance
+
+
+
+ Base class of all marshal types
+
+
+
+
+ The native type
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+ Native type
+
+
+
+
+
+
+ Contains the raw marshal blob data
+
+
+
+
+ Gets/sets the raw data
+
+
+
+
+ Constructor
+
+ Raw data
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the size
+
+
+
+
+ true if is valid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Size
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the variant type
+
+
+
+
+ Gets/sets the user-defined sub type (it's usually null)
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Variant type
+
+
+
+ Constructor
+
+ User-defined sub type
+
+
+
+ Constructor
+
+ Variant type
+ User-defined sub type
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the element type
+
+
+
+
+ Gets/sets the size
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Size
+
+
+
+ Constructor
+
+ Size
+ Element type
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the element type
+
+
+
+
+ Gets/sets the parameter number
+
+
+
+
+ Gets/sets the size of the array
+
+
+
+
+ Gets/sets the flags
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ true if ntaSizeParamIndexSpecified bit is set, false if it's not
+ set or if is invalid.
+
+
+
+
+ true if ntaSizeParamIndexSpecified bit is not set, false if it's
+ set or if is invalid.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Element type
+
+
+
+ Constructor
+
+ Element type
+ Parameter number
+
+
+
+ Constructor
+
+ Element type
+ Parameter number
+ Number of elements
+
+
+
+ Constructor
+
+ Element type
+ Parameter number
+ Number of elements
+ Flags
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the GUID string
+
+
+
+
+ Gets/sets the native type name string
+
+
+
+
+ Gets/sets the custom marshaler
+
+
+
+
+ Gets/sets the cookie string
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ GUID string
+
+
+
+ Constructor
+
+ GUID string
+ Native type name string
+
+
+
+ Constructor
+
+ GUID string
+ Native type name string
+ Custom marshaler name string
+
+
+
+ Constructor
+
+ GUID string
+ Native type name string
+ Custom marshaler name string
+ Cookie string
+
+
+
+
+
+
+ A , or a
+ marshal type
+
+
+
+
+ Gets/sets the IID parameter index
+
+
+
+
+ true if is valid
+
+
+
+
+ Constructor
+
+ Native type
+
+
+
+ Constructor
+
+ Native type
+ IID parameter index
+
+
+
+
+
+
+ Metadata token
+
+
+
+
+ Mask to get the rid from a raw metadata token
+
+
+
+
+ Max rid value
+
+
+
+
+ Number of bits to right shift a raw metadata token to get the table index
+
+
+
+
+ Returns the table type
+
+
+
+
+ Returns the row id
+
+
+
+
+ Returns the raw token
+
+
+
+
+ Returns true if it's a null token
+
+
+
+
+ Constructor
+
+ Raw token
+
+
+
+ Constructor
+
+ Raw token
+
+
+
+ Constructor
+
+ The table type
+ Row id
+
+
+
+ Constructor
+
+ The table type
+ Row id
+
+
+
+ Returns the rid (row ID)
+
+ A raw metadata token
+ A rid
+
+
+
+ Returns the rid (row ID)
+
+ A raw metadata token
+ A rid
+
+
+
+ Returns the table
+
+ A raw metadata token
+ A metadata table index
+
+
+
+ Returns the table
+
+ A raw metadata token
+ A metadata table index
+
+
+
+ Gets the token as a raw 32-bit signed integer
+
+
+
+
+ Gets the token as a raw 32-bit unsigned integer
+
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Represents the #Blob stream
+
+
+
+
+
+
+
+
+
+
+ Reads data
+
+ Offset of data
+ The data or null if invalid offset
+
+
+
+ Reads data just like , but returns an empty array if
+ offset is invalid
+
+ Offset of data
+ The data
+
+
+
+ Creates a reader that can access a blob
+
+ Offset of blob
+ A new stream
+
+
+
+ Creates a reader that can access a blob or returns false on failure
+
+ Offset of blob
+ Updated with the reader
+
+
+
+
+ Contains all possible coded token classes
+
+
+
+ TypeDefOrRef coded token
+
+
+ HasConstant coded token
+
+
+ HasCustomAttribute coded token
+
+
+ HasFieldMarshal coded token
+
+
+ HasDeclSecurity coded token
+
+
+ MemberRefParent coded token
+
+
+ HasSemantic coded token
+
+
+ MethodDefOrRef coded token
+
+
+ MemberForwarded coded token
+
+
+ Implementation coded token
+
+
+ CustomAttributeType coded token
+
+
+ ResolutionScope coded token
+
+
+ TypeOrMethodDef coded token
+
+
+ HasCustomDebugInformation coded token
+
+
+
+ Returns all types of tables
+
+
+
+
+ Returns the number of bits that is used to encode table type
+
+
+
+
+ Constructor
+
+ Number of bits used to encode token type
+ All table types
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+ true if successful
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+ true if successful
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token or 0 on failure
+
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token or 0 on failure
+
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token
+ true if successful
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token
+ true if successful
+
+
+
+ Info about one column in a MD table
+
+
+
+
+ Gets the column index
+
+
+
+
+ Returns the column offset within the table row
+
+
+
+
+ Returns the column size
+
+
+
+
+ Returns the column name
+
+
+
+
+ Returns the ColumnSize enum value
+
+
+
+
+ Constructor
+
+ Column index
+ The column name
+ Column size
+
+
+
+ Constructor
+
+ Column index
+ The column name
+ Column size
+ Offset of column
+ Size of column
+
+
+
+ Reads the column
+
+ A reader positioned on this column
+ The column value
+
+
+
+ Writes a column
+
+ The writer position on this column
+ The column value
+
+
+
+ MD table column size
+
+
+
+ RID into Module table
+
+
+ RID into TypeRef table
+
+
+ RID into TypeDef table
+
+
+ RID into FieldPtr table
+
+
+ RID into Field table
+
+
+ RID into MethodPtr table
+
+
+ RID into Method table
+
+
+ RID into ParamPtr table
+
+
+ RID into Param table
+
+
+ RID into InterfaceImpl table
+
+
+ RID into MemberRef table
+
+
+ RID into Constant table
+
+
+ RID into CustomAttribute table
+
+
+ RID into FieldMarshal table
+
+
+ RID into DeclSecurity table
+
+
+ RID into ClassLayout table
+
+
+ RID into FieldLayout table
+
+
+ RID into StandAloneSig table
+
+
+ RID into EventMap table
+
+
+ RID into EventPtr table
+
+
+ RID into Event table
+
+
+ RID into PropertyMap table
+
+
+ RID into PropertyPtr table
+
+
+ RID into Property table
+
+
+ RID into MethodSemantics table
+
+
+ RID into MethodImpl table
+
+
+ RID into ModuleRef table
+
+
+ RID into TypeSpec table
+
+
+ RID into ImplMap table
+
+
+ RID into FieldRVA table
+
+
+ RID into ENCLog table
+
+
+ RID into ENCMap table
+
+
+ RID into Assembly table
+
+
+ RID into AssemblyProcessor table
+
+
+ RID into AssemblyOS table
+
+
+ RID into AssemblyRef table
+
+
+ RID into AssemblyRefProcessor table
+
+
+ RID into AssemblyRefOS table
+
+
+ RID into File table
+
+
+ RID into ExportedType table
+
+
+ RID into ManifestResource table
+
+
+ RID into NestedClass table
+
+
+ RID into GenericParam table
+
+
+ RID into MethodSpec table
+
+
+ RID into GenericParamConstraint table
+
+
+ RID into Document table
+
+
+ RID into MethodDebugInformation table
+
+
+ RID into LocalScope table
+
+
+ RID into LocalVariable table
+
+
+ RID into LocalConstant table
+
+
+ RID into ImportScope table
+
+
+ RID into StateMachineMethod table
+
+
+ RID into CustomDebugInformation table
+
+
+ 8-bit byte
+
+
+ 16-bit signed int
+
+
+ 16-bit unsigned int
+
+
+ 32-bit signed int
+
+
+ 32-bit unsigned int
+
+
+ Index into #Strings stream
+
+
+ Index into #GUID stream
+
+
+ Index into #Blob stream
+
+
+ TypeDefOrRef encoded token
+
+
+ HasConstant encoded token
+
+
+ HasCustomAttribute encoded token
+
+
+ HasFieldMarshal encoded token
+
+
+ HasDeclSecurity encoded token
+
+
+ MemberRefParent encoded token
+
+
+ HasSemantic encoded token
+
+
+ MethodDefOrRef encoded token
+
+
+ MemberForwarded encoded token
+
+
+ Implementation encoded token
+
+
+ CustomAttributeType encoded token
+
+
+ ResolutionScope encoded token
+
+
+ TypeOrMethodDef encoded token
+
+
+ HasCustomDebugInformation encoded token
+
+
+
+ See COMIMAGE_FLAGS_XXX in CorHdr.h in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_ILONLY in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_32BITREQUIRED in the Windows SDK
+
+
+
+
+ Set if a native header exists (COMIMAGE_FLAGS_IL_LIBRARY)
+
+
+
+
+ See COMIMAGE_FLAGS_STRONGNAMESIGNED in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_NATIVE_ENTRYPOINT in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_TRACKDEBUGDATA in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_32BITPREFERRED in the Windows SDK
+
+
+
+
+ Used when a #~ stream is present in the metadata
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets a rid list (eg. field list)
+
+ Source table, eg. TypeDef
+ Row ID in
+ Column index in , eg. 4 for TypeDef.FieldList
+ Destination table, eg. Field
+ A new instance
+
+
+
+
+
+
+ A custom .NET metadata stream
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of metadata
+ The stream header
+
+
+
+ .NET metadata stream
+
+
+
+
+ Reader that can access the whole stream.
+
+ NOTE: Always copy this field to a local variable before using it since it must be thread safe.
+
+
+
+
+ null if it wasn't present in the file
+
+
+
+
+
+
+
+
+
+
+ Gets the length of this stream in the metadata
+
+
+
+
+ Gets the stream header
+
+
+
+
+ Gets the name of the stream
+
+
+
+
+ Gets a data reader that can read the full stream
+
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of metadata
+ The stream header
+
+
+
+ Called after gets recreated
+
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Checks whether an index is valid
+
+ The index
+ true if the index is valid
+
+
+
+ Check whether an offset is within the stream
+
+ Stream offset
+ true if the offset is valid
+
+
+
+ Check whether an offset is within the stream
+
+ Stream offset
+ Size of data
+ true if the offset is valid
+
+
+
+ Base class of #US, #Strings, #Blob, and #GUID classes
+
+
+
+
+
+
+
+
+
+
+ Initializes .NET table row sizes
+
+
+
+
+ Initializes the table sizes
+
+ true if #Strings size >= 0x10000
+ true if #GUID size >= 0x10000
+ true if #Blob size >= 0x10000
+ Count of rows in each table
+ Count of rows in each table (debug tables)
+
+
+
+ Creates the table infos
+
+ Major table version
+ Minor table version
+ All table infos (not completely initialized)
+
+
+
+ Creates the table infos
+
+ Major table version
+ Minor table version
+ Initialized to max present tables (eg. 42 or 45)
+ All table infos (not completely initialized)
+
+
+
+ Used when a #- stream is present in the metadata
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Converts a logical Field rid to a physical Field rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Method rid to a physical Method rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Param rid to a physical Param rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Event rid to a physical Event rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Property rid to a physical Property rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets a rid list (eg. field list)
+
+ Source table, eg. TypeDef
+ Row ID in
+ Column index in , eg. 4 for TypeDef.FieldList
+ Destination table, eg. Field
+ A new instance
+
+
+
+
+
+
+ Linear searches the table (O(n)) for a rid whose key column at index
+ is equal to .
+
+ Table to search
+ Key column index
+ Key
+ The rid of the found row, or 0 if none found
+
+
+
+
+
+
+ Represents the #GUID stream
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Read a
+
+ Index into this stream
+ A or null if is 0 or invalid
+
+
+
+ Heap type. The values are set in stone by MS. Don't change.
+
+
+
+ #Strings heap
+
+
+ #GUID heap
+
+
+ #Blob heap
+
+
+ #US heap
+
+
+
+ Represents the IMAGE_COR20_HEADER structure
+
+
+
+
+ Returns true if it has a native header
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.cb field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.MajorRuntimeVersion field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.MinorRuntimeVersion field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.Metadata field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.Flags field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.EntryPointToken/EntryPointTokenRVA field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.Resources field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.StrongNameSignature field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.CodeManagerTable field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.VTableFixups field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.ExportAddressTableJumps field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.ManagedNativeHeader field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Reads metadata table columns
+
+
+
+
+ Reads a column
+
+ The table to read from
+ Table row id
+ The column to read
+ Result
+ true if was updated, false if
+ the column should be read from the original table.
+
+
+
+ Reads table rows
+
+ Raw row
+
+
+
+ Reads a table row or returns false if the row should be read from the original table
+
+ Row id
+ The row
+
+
+
+
+ Version strings found in the meta data header
+
+
+
+
+ MS CLR 1.0 version string (.NET 1.0)
+
+
+
+
+ MS CLR 1.0 version string (.NET 1.0). This is an incorrect version that shouldn't be used.
+
+
+
+
+ MS CLR 1.0 version string (.NET 1.0). This is an incorrect version that shouldn't be used.
+
+
+
+
+ MS CLR 1.0 version string (.NET 1.0). This is an incorrect version that shouldn't be used.
+
+
+
+
+ MS CLR 1.1 version string (.NET 1.1)
+
+
+
+
+ MS CLR 2.0 version string (.NET 2.0-3.5)
+
+
+
+
+ MS CLR 4.0 version string (.NET 4.0-4.5)
+
+
+
+
+ MS CLR 1.0 any version
+
+
+
+
+ MS CLR 1.0 any version
+
+
+
+
+ MS CLR 1.1 any version
+
+
+
+
+ MS CLR 2.0 any version
+
+
+
+
+ MS CLR 4.0 any version
+
+
+
+
+ ECMA 2002 version string
+
+
+
+
+ ECMA 2005 version string
+
+
+
+
+ Portable PDB v1.0
+
+
+
+
+ MDStream flags
+
+
+
+ #Strings stream is big and requires 4 byte offsets
+
+
+ #GUID stream is big and requires 4 byte offsets
+
+
+ #Blob stream is big and requires 4 byte offsets
+
+
+
+
+
+
+
+
+ Extra data follows the row counts
+
+
+ Set if certain tables can contain deleted rows. The name column (if present) is set to "_Deleted"
+
+
+
+ A MD table (eg. Method table)
+
+
+
+
+
+
+
+
+
+
+ Gets the table
+
+
+
+
+ Gets the name of this table
+
+
+
+
+ Returns total number of rows
+
+
+
+
+ Gets the total size in bytes of one row in this table
+
+
+
+
+ Returns all the columns
+
+
+
+
+ Returns true if there are no valid rows
+
+
+
+
+ Returns info about this table
+
+
+
+
+ Constructor
+
+ The table
+ Number of rows in this table
+ Info about this table
+
+
+
+ Checks whether the row exists
+
+ Row ID
+
+
+
+ Checks whether the row does not exist
+
+ Row ID
+
+
+
+
+
+
+ Reads .NET metadata
+
+
+
+
+ true if the compressed (normal) metadata is used, false if the non-compressed
+ (Edit N' Continue) metadata is used. This can be false even if the table stream
+ is #~ but that's very uncommon.
+
+
+
+
+ true if this is standalone Portable PDB metadata
+
+
+
+
+ Gets the .NET header
+
+
+
+
+ Gets the version found in the metadata header. The major version number is in the high 16 bits
+ and the lower version number is in the low 16 bits.
+
+
+
+
+ Gets the version string found in the metadata header
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the metadata header
+
+
+
+
+ Returns the #Strings stream or a default empty one if it's not present
+
+
+
+
+ Returns the #US stream or a default empty one if it's not present
+
+
+
+
+ Returns the #Blob stream or a default empty one if it's not present
+
+
+
+
+ Returns the #GUID stream or a default empty one if it's not present
+
+
+
+
+ Returns the #~ or #- tables stream
+
+
+
+
+ Returns the #Pdb stream or null if it's not a standalone portable PDB file
+
+
+
+
+ Gets all streams
+
+
+
+
+ Gets a list of all the valid TypeDef rids. It's usually every rid in the
+ TypeDef table, but could be less if a type has been deleted.
+
+
+
+
+ Gets a list of all the valid ExportedType rids. It's usually every rid in the
+ ExportedType table, but could be less if a type has been deleted.
+
+
+
+
+ Gets the Field rid list
+
+ TypeDef rid
+ A new instance
+
+
+
+ Gets the Method rid list
+
+ TypeDef rid
+ A new instance
+
+
+
+ Gets the Param rid list
+
+ Method rid
+ A new instance
+
+
+
+ Gets the Event rid list
+
+ EventMap rid
+ A new instance
+
+
+
+ Gets the Property rid list
+
+ PropertyMap rid
+ A new instance
+
+
+
+ Finds all InterfaceImpl rids owned by
+
+ Owner TypeDef rid
+ A instance containing the valid InterfaceImpl rids
+
+
+
+ Finds all GenericParam rids owned by in table
+
+ A TypeOrMethodDef table
+ Owner rid
+ A instance containing the valid GenericParam rids
+
+
+
+ Finds all GenericParamConstraint rids owned by
+
+ Owner GenericParam rid
+ A instance containing the valid GenericParamConstraint rids
+
+
+
+ Finds all CustomAttribute rids owned by in table
+
+ A HasCustomAttribute table
+ Owner rid
+ A instance containing the valid CustomAttribute rids
+
+
+
+ Finds all DeclSecurity rids owned by in table
+
+ A HasDeclSecurity table
+ Owner rid
+ A instance containing the valid DeclSecurity rids
+
+
+
+ Finds all MethodSemantics rids owned by in table
+
+ A HasSemantic table
+ Owner rid
+ A instance containing the valid MethodSemantics rids
+
+
+
+ Finds all MethodImpl rids owned by
+
+ Owner TypeDef rid
+ A instance containing the valid MethodImpl rids
+
+
+
+ Finds a ClassLayout rid
+
+ Owner TypeDef rid
+ The ClassLayout rid or 0 if is invalid
+ or if it has no row in the ClassLayout table.
+
+
+
+ Finds a FieldLayout rid
+
+ Owner Field rid
+ The FieldLayout rid or 0 if is invalid
+ or if it has no row in the FieldLayout table.
+
+
+
+ Finds a FieldMarshal rid
+
+ A HasFieldMarshal table
+ Owner rid
+ The FieldMarshal rid or 0 if is invalid
+ or if it has no row in the FieldMarshal table.
+
+
+
+ Finds a FieldRVA rid
+
+ Owner Field rid
+ The FieldRVA rid or 0 if is invalid
+ or if it has no row in the FieldRVA table.
+
+
+
+ Finds an ImplMap rid
+
+ A MemberForwarded table
+ Owner rid
+ The ImplMap rid or 0 if is invalid
+ or if it has no row in the ImplMap table.
+
+
+
+ Finds a NestedClass rid
+
+ Owner TypeDef rid
+ The NestedClass rid or 0 if is invalid
+ or if it has no row in the NestedClass table.
+
+
+
+ Finds an EventMap rid
+
+ Owner TypeDef rid
+ The EventMap rid or 0 if is invalid
+ or if it has no row in the EventMap table.
+
+
+
+ Finds a PropertyMap rid
+
+ Owner TypeDef rid
+ The PropertyMap rid or 0 if is invalid
+ or if it has no row in the PropertyMap table.
+
+
+
+ Finds a Constant rid
+
+ A HasConstant table
+ Owner rid
+ The Constant rid or 0 if is invalid
+ or if it has no row in the Constant table.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Field rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Method rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Event rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Property rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeOrMethodDef rid
+
+ A GenericParam rid
+ The owner TypeOrMethodDef rid or 0 if is
+ invalid or if it has no owner.
+
+
+
+ Returns the owner GenericParam rid
+
+ A GenericParamConstraint rid
+ The owner GenericParam rid or 0 if is
+ invalid or if it has no owner.
+
+
+
+ Returns the owner Method rid
+
+ A Param rid
+ The owner Method rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Gets a list of all nested classes owned by
+
+ A TypeDef rid
+ A new instance
+
+
+
+ Gets a list of all non-nested classes. A type is a non-nested type if
+ returns an empty list.
+
+ A new instance
+
+
+
+ Finds all LocalScope rids owned by
+
+ Owner Method rid
+ A instance containing the valid LocalScope rids
+
+
+
+ Gets the StateMachineMethod rid or 0 if it's not a state machine method
+
+ Owner Method rid
+
+
+
+
+ Finds all CustomDebugInformation rids owned by in table
+
+ A HasCustomDebugInformation table
+ Owner rid
+ A instance containing the valid CustomDebugInformation rids
+
+
+
+ Disposes of this instance
+
+
+
+
+ Common base class for #~ and #- metadata classes
+
+
+
+
+ The PE image
+
+
+
+
+ The .NET header
+
+
+
+
+ The MD header
+
+
+
+
+ The #Strings stream
+
+
+
+
+ The #US stream
+
+
+
+
+ The #Blob stream
+
+
+
+
+ The #GUID stream
+
+
+
+
+ The #~ or #- stream
+
+
+
+
+ The #Pdb stream
+
+
+
+
+ All the streams that are present in the PE image
+
+
+
+ true if this is standalone Portable PDB metadata
+
+
+
+ Sorts a table by key column
+
+
+
+
+ Remembers rid and key
+
+
+
+
+ Constructor
+
+ Row ID
+ Key
+
+
+
+ Constructor
+
+ The MD table
+ Index of key column
+
+
+
+ Binary searches for a row with a certain key
+
+ The key
+ The row or 0 if not found
+
+
+
+ Find all rids that contain
+
+ The key
+ A new instance
+
+
+
+ Constructor
+
+ The PE image
+ The .NET header
+ The MD header
+
+
+
+ Initializes the metadata, tables, streams
+
+
+
+
+ Creates empty heap objects if they're not present in the metadata
+
+
+
+
+ Called by
+
+
+
+
+ Binary searches the table for a rid whose key column at index
+ is equal to .
+
+ Table to search
+ Key column index
+ Key
+ The rid of the found row, or 0 if none found
+
+
+
+ Finds all rows owned by in table
+ whose index is
+
+ Table to search
+ Key column index
+ Key
+ A instance
+
+
+
+ Finds all rows owned by in table
+ whose index is . Should be called if
+ could be unsorted.
+
+ Table to search
+ Key column index
+ Key
+ A instance
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Low level access to a .NET file's metadata
+
+
+
+
+ Create a instance
+
+ The PE image
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ Runtime reader kind
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ Runtime reader kind
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ Runtime reader kind
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Create a standalone portable PDB instance
+
+ Metadata stream
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Represents the .NET metadata header
+
+ IMAGE_COR20_HEADER.Metadata points to this header
+
+
+
+ Returns the signature (should be 0x424A5342)
+
+
+
+
+ Returns the major version
+
+
+
+
+ Returns the minor version
+
+
+
+
+ Returns the reserved dword (pointer to extra header data)
+
+
+
+
+ Returns the version string length value
+
+
+
+
+ Returns the version string
+
+
+
+
+ Returns the offset of STORAGEHEADER
+
+
+
+
+ Returns the flags (reserved)
+
+
+
+
+ Returns the reserved byte (padding)
+
+
+
+
+ Returns the number of streams
+
+
+
+
+ Returns all stream headers
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Runtime reader kind
+ Verify section
+ Thrown if verification fails
+
+
+
+ #Pdb stream
+
+
+
+
+ Gets the PDB id
+
+
+
+
+ Gets the entry point token or 0
+
+
+
+
+ Gets the referenced type system tables in the PE metadata file
+
+
+
+
+ Gets all type system table rows. This array has exactly 64 elements.
+
+
+
+
+
+
+
+ Equality comparer for all raw rows
+
+
+
+
+ Default instance
+
+
+
+
+ Raw contents of an uncompressed Module table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed TypeRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed TypeDef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Field table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Method table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ParamPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Param table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed InterfaceImpl table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MemberRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Constant table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed CustomAttribute table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldMarshal table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed DeclSecurity table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ClassLayout table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldLayout table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed StandAloneSig table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed EventMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed EventPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Event table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed PropertyMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed PropertyPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Property table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodSemantics table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodImpl table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ModuleRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed TypeSpec table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ImplMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldRVA table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ENCLog table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ENCMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Assembly table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyProcessor table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyOS table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyRefProcessor table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyRefOS table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed File table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ExportedType table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ManifestResource table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed NestedClass table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed GenericParam table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodSpec table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed GenericParamConstraint table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Document table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodDebugInformation table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed LocalScope table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed LocalVariable table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed LocalConstant table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ImportScope table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed StateMachineMethod table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed CustomDebugInformation table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Stores a list of rids
+
+
+
+
+ Gets the empty instance
+
+
+
+
+ Creates a new instance
+
+
+
+
+
+
+
+ Creates a new instance
+
+ List of valid rids
+
+
+
+
+ Gets the 'th rid
+
+ Index. Must be <
+ A rid or 0 if is invalid
+
+
+
+ Gets the number of rids it will iterate over
+
+
+
+
+ Enumerator
+
+
+
+
+ Gets the current rid
+
+
+
+
+ Disposes this instance
+
+
+
+
+ Moves to the next rid
+
+
+
+
+
+ Gets the enumerator
+
+
+
+
+
+ Storage flags found in the MD header
+
+
+
+
+ Normal flags
+
+
+
+
+ More data after the header but before the streams.
+
+ The CLR will fail to load the file if this flag (or any other bits) is set.
+
+
+
+ A metadata stream header
+
+
+
+
+ The offset of the stream relative to the start of the metadata header
+
+
+
+
+ The size of the stream
+
+
+
+
+ The name of the stream
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the #Strings stream
+
+
+
+
+
+
+
+
+
+
+ Reads a
+
+ Offset of string
+ A instance or null if invalid offset
+
+
+
+ Reads a . The empty string is returned if
+ is invalid.
+
+ Offset of string
+ A instance
+
+
+
+ The metadata tables
+
+
+
+ Module table (00h)
+
+
+ TypeRef table (01h)
+
+
+ TypeDef table (02h)
+
+
+ FieldPtr table (03h)
+
+
+ Field table (04h)
+
+
+ MethodPtr table (05h)
+
+
+ Method table (06h)
+
+
+ ParamPtr table (07h)
+
+
+ Param table (08h)
+
+
+ InterfaceImpl table (09h)
+
+
+ MemberRef table (0Ah)
+
+
+ Constant table (0Bh)
+
+
+ CustomAttribute table (0Ch)
+
+
+ FieldMarshal table (0Dh)
+
+
+ DeclSecurity table (0Eh)
+
+
+ ClassLayout table (0Fh)
+
+
+ FieldLayout table (10h)
+
+
+ StandAloneSig table (11h)
+
+
+ EventMap table (12h)
+
+
+ EventPtr table (13h)
+
+
+ Event table (14h)
+
+
+ PropertyMap table (15h)
+
+
+ PropertyPtr table (16h)
+
+
+ Property table (17h)
+
+
+ MethodSemantics table (18h)
+
+
+ MethodImpl table (19h)
+
+
+ ModuleRef table (1Ah)
+
+
+ TypeSpec table (1Bh)
+
+
+ ImplMap table (1Ch)
+
+
+ FieldRVA table (1Dh)
+
+
+ ENCLog table (1Eh)
+
+
+ ENCMap table (1Fh)
+
+
+ Assembly table (20h)
+
+
+ AssemblyProcessor table (21h)
+
+
+ AssemblyOS table (22h)
+
+
+ AssemblyRef table (23h)
+
+
+ AssemblyRefProcessor table (24h)
+
+
+ AssemblyRefOS table (25h)
+
+
+ File table (26h)
+
+
+ ExportedType table (27h)
+
+
+ ManifestResource table (28h)
+
+
+ NestedClass table (29h)
+
+
+ GenericParam table (2Ah)
+
+
+ MethodSpec table (2Bh)
+
+
+ GenericParamConstraint table (2Ch)
+
+
+ (Portable PDB) Document table (30h)
+
+
+ (Portable PDB) MethodDebugInformation table (31h)
+
+
+ (Portable PDB) LocalScope table (32h)
+
+
+ (Portable PDB) LocalVariable table (33h)
+
+
+ (Portable PDB) LocalConstant table (34h)
+
+
+ (Portable PDB) ImportScope table (35h)
+
+
+ (Portable PDB) StateMachineMethod table (36h)
+
+
+ (Portable PDB) CustomDebugInformation table (37h)
+
+
+
+ Info about one MD table
+
+
+
+
+ Returns the table type
+
+
+
+
+ Returns the total size of a row in bytes
+
+
+
+
+ Returns all the columns
+
+
+
+
+ Returns the name of the table
+
+
+
+
+ Constructor
+
+ Table type
+ Table name
+ All columns
+
+
+
+ Constructor
+
+ Table type
+ Table name
+ All columns
+ Row size
+
+
+
+ .NET metadata tables stream
+
+
+
+
+ Gets/sets the column reader
+
+
+
+
+ Gets/sets the Method table reader
+
+
+
+
+ Gets the reserved field
+
+
+
+
+ Gets the version. The major version is in the upper 8 bits, and the minor version
+ is in the lower 8 bits.
+
+
+
+
+ Gets
+
+
+
+
+ Gets the reserved log2 rid field
+
+
+
+
+ Gets the valid mask
+
+
+
+
+ Gets the sorted mask
+
+
+
+
+ Gets the extra data
+
+
+
+
+ Gets the MD tables
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Constructor
+
+ factory
+ Offset of metadata
+ Stream header
+
+
+
+ Constructor
+
+ factory
+ Offset of metadata
+ Stream header
+ Runtime kind
+
+
+
+ Initializes MD tables
+
+ Type system table rows (from #Pdb stream)
+
+
+
+
+
+
+
+
+
+ Returns a MD table
+
+ The table type
+ A or null if table doesn't exist
+
+
+
+ Checks whether a table exists
+
+ The table type
+ true if the table exists
+
+
+
+ Checks whether table is sorted
+
+ The table
+
+
+
+ Reads a raw Module row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw TypeRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw TypeDef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Field row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Method row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ParamPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Param row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw InterfaceImpl row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MemberRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Constant row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw CustomAttribute row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldMarshal row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw DeclSecurity row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ClassLayout row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldLayout row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw StandAloneSig row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw EventMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw EventPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Event row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw PropertyMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw PropertyPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Property row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodSemantics row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodImpl row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ModuleRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw TypeSpec row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ImplMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldRVA row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ENCLog row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ENCMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Assembly row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyProcessor row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyOS row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyRefProcessor row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyRefOS row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw File row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ExportedType row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ManifestResource row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw NestedClass row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw GenericParam row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodSpec row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw GenericParamConstraint row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Document row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodDebugInformation row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw LocalScope row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw LocalVariable row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw LocalConstant row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ImportScope row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw StateMachineMethod row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw CustomDebugInformation row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a column
+
+ The table
+ Row ID
+ Column index in
+ Result is put here or 0 if we return false
+ true if we could read the column, false otherwise
+
+
+
+ Reads a column
+
+ The table
+ Row ID
+ Column
+ Result is put here or 0 if we return false
+ true if we could read the column, false otherwise
+
+
+
+ Represents the #US stream
+
+
+
+
+
+
+
+
+
+
+ Reads a unicode string
+
+ Offset of unicode string
+ A string or null if is invalid
+
+
+
+ Reads data just like , but returns an empty string if
+ offset is invalid
+
+ Offset of unicode string
+ The string
+
+
+
+ Finds types, fields, methods, etc in a module. If nothing has been added to the module, it's
+ faster to call ResolveMethodDef(), ResolveTypeRef() etc.
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ Finds all types, fields, etc
+
+ The module to scan
+ Itself
+
+
+
+ Methods to load properties to make sure they're initialized
+
+
+
+
+ Read every collection element
+
+ Collection element type
+ Collection
+
+
+
+ Load the object instance
+
+ The value (ignored)
+
+
+
+ A high-level representation of a row in the MemberRef table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column MemberRef.Class
+
+
+
+
+
+
+
+ From column MemberRef.Name
+
+
+
+ Name
+
+
+
+ From column MemberRef.Signature
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ true if this is a method reference ( != null)
+
+
+
+
+ true if this is a field reference ( != null)
+
+
+
+
+ Gets/sets the method sig
+
+
+
+
+ Gets/sets the field sig
+
+
+
+
+
+
+
+ true if the method has a hidden 'this' parameter
+
+
+
+
+ true if the method has an explicit 'this' parameter
+
+
+
+
+ Gets the calling convention
+
+
+
+
+ Gets/sets the method return type
+
+
+
+
+
+
+
+ Gets the full name
+
+
+
+
+ Get the declaring type's full name
+
+ Full name or null if there's no declaring type
+
+
+
+ Resolves the method/field
+
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Resolves the method/field
+
+ A or a instance
+ If the method/field couldn't be resolved
+
+
+
+ Resolves the field
+
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves the field
+
+ A instance
+ If the field couldn't be resolved
+
+
+
+ Resolves the method
+
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves the method
+
+ A instance
+ If the method couldn't be resolved
+
+
+
+ Gets a that can be used as signature context
+
+ Context passed to the constructor
+ Field/method class owner
+
+
+
+
+
+
+
+ A MemberRef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Constructor
+
+ Owner module
+ Name of ref
+
+
+
+ Constructor
+
+ Owner module
+ Name of field ref
+ Field sig
+
+
+
+ Constructor
+
+ Owner module
+ Name of field ref
+ Field sig
+ Owner of field
+
+
+
+ Constructor
+
+ Owner module
+ Name of method ref
+ Method sig
+
+
+
+ Constructor
+
+ Owner module
+ Name of method ref
+ Method sig
+ Owner of method
+
+
+
+ Created from a row in the MemberRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this MemberRef row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Method attributes, see CorHdr.h/CorMethodAttr
+
+
+
+ member access mask - Use this mask to retrieve accessibility information.
+
+
+ Member not referenceable.
+
+
+ Member not referenceable.
+
+
+ Accessible only by the parent type.
+
+
+ Accessible by sub-types only in this Assembly.
+
+
+ Accessibly by anyone in the Assembly.
+
+
+ Accessible only by type and sub-types.
+
+
+ Accessibly by sub-types anywhere, plus anyone in assembly.
+
+
+ Accessibly by anyone who has visibility to this scope.
+
+
+ Defined on type, else per instance.
+
+
+ Method may not be overridden.
+
+
+ Method virtual.
+
+
+ Method hides by name+sig, else just by name.
+
+
+ vtable layout mask - Use this mask to retrieve vtable attributes.
+
+
+ The default.
+
+
+ Method always gets a new slot in the vtable.
+
+
+ Overridability is the same as the visibility.
+
+
+ Method does not provide an implementation.
+
+
+ Method is special. Name describes how.
+
+
+ Implementation is forwarded through pinvoke.
+
+
+ Managed method exported via thunk to unmanaged code.
+
+
+ Runtime should check name encoding.
+
+
+ Method has security associate with it.
+
+
+ Method calls another method containing security code.
+
+
+
+ A high-level representation of a row in the Method table
+
+
+
+
+ The row id in its table
+
+
+
+
+ All parameters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Method.RVA
+
+
+
+
+
+
+
+ From column Method.ImplFlags
+
+
+
+ Implementation attributes
+
+
+
+ From column Method.Flags
+
+
+
+ Attributes
+
+
+
+ From column Method.Name
+
+
+
+ Name
+
+
+
+ From column Method.Signature
+
+
+
+
+
+
+
+ From column Method.ParamList
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets/sets the method body. See also
+
+
+
+
+
+
+
+
+
+
+ Frees the method body if it has been loaded. This does nothing if
+ returns false.
+
+
+
+ Called to initialize
+
+
+
+ true if can free the method body
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the methods this method implements
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the export info or null if the method isn't exported to unmanaged code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the CIL method body. See also
+
+
+
+
+ Gets/sets the native method body
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if it has a
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the full name
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets the parameters
+
+
+
+
+
+
+
+ true if the method has a hidden 'this' parameter
+
+
+
+
+ true if the method has an explicit 'this' parameter
+
+
+
+
+ Gets the calling convention
+
+
+
+
+ Gets/sets the method return type
+
+
+
+
+ true if the method returns a value (i.e., return type is not )
+
+
+
+
+ Gets/sets the method semantics attributes. If you remove/add a method to a property or
+ an event, you must manually update this property or eg. won't
+ work as expected.
+
+
+
+ Set when has been initialized
+
+
+
+
+
+ Initializes
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the method access
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the code type
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if this is the static type constructor
+
+
+
+
+ true if this is an instance constructor
+
+
+
+
+ true if this is a static or an instance constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A Method row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Method name
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+ Flags
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+ Impl flags
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+ Impl flags
+ Flags
+
+
+
+ Created from a row in the Method table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Method row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+
+
+
+ Contains the name and ordinal of a method that gets exported to unmanaged code.
+
+
+
+
+ Gets the ordinal or null
+
+
+
+
+ Gets the name. If it's null, and is also null, the name of the method
+ () is used as the exported name.
+
+
+
+
+ Gets the options
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Name or null to export by ordinal
+
+
+
+ Constructor
+
+ Ordinal
+
+
+
+ Constructor
+
+ Name or null to export by ordinal
+ Ordinal or null to export by name
+
+
+
+ Constructor
+
+ Name or null to export by ordinal
+ Ordinal or null to export by name
+ Options
+
+
+
+ Exported method options
+
+
+
+
+ No bit is set
+
+
+
+
+ Transition from unmanaged code
+
+
+
+
+ Also retain app domain
+
+
+
+
+ Call most derived method
+
+
+
+
+ Method impl attributes, see CorHdr.h/CorMethodImpl
+
+
+
+ Flags about code type.
+
+
+ Method impl is IL.
+
+
+ Method impl is native.
+
+
+ Method impl is OPTIL
+
+
+ Method impl is provided by the runtime.
+
+
+ Flags specifying whether the code is managed or unmanaged.
+
+
+ Method impl is unmanaged, otherwise managed.
+
+
+ Method impl is managed.
+
+
+ Indicates method is defined; used primarily in merge scenarios.
+
+
+ Indicates method sig is not to be mangled to do HRESULT conversion.
+
+
+ Reserved for internal use.
+
+
+ Method is single threaded through the body.
+
+
+ Method may not be inlined.
+
+
+ Method should be inlined if possible.
+
+
+ Method may not be optimized.
+
+
+ Method may contain hot code and should be aggressively optimized.
+
+
+ The JIT compiler should look for security mitigation attributes, such as the user-defined System.Runtime.CompilerServices.SecurityMitigationsAttribute. If found, the JIT compiler applies any related security mitigations. Available starting with .NET Framework 4.8.
+
+
+
+ Describes which method some method implements
+
+
+
+
+ The method body. Usually a but could be a
+
+
+
+
+ The method implements
+
+
+
+
+ Constructor
+
+ Method body
+ The method implements
+
+
+
+ Method semantics flags, see CorHdr.h/CorMethodSemanticsAttr
+
+
+
+ No bit is set
+
+
+ Setter for property
+
+
+ Getter for property
+
+
+ other method for property or event
+
+
+ AddOn method for event
+
+
+ RemoveOn method for event
+
+
+ Fire method for event
+
+
+
+ A high-level representation of a row in the MethodSpec table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column MethodSpec.Method
+
+
+
+
+
+
+
+ From column MethodSpec.Instantiation
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the generic instance method sig
+
+
+
+
+
+
+
+
+
+
+ Gets the full name
+
+
+
+
+
+
+
+ A MethodSpec row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The generic method
+
+
+
+ Constructor
+
+ The generic method
+ The instantiated method sig
+
+
+
+ Created from a row in the MethodSpec table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this MethodSpec row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ context
+
+
+
+
+ Gets/sets the assembly resolver. This is never null.
+
+
+
+
+ Gets/sets the resolver. This is never null.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Assembly resolver or null
+
+
+
+ Constructor
+
+ Type/method/field resolver or null
+
+
+
+ Constructor
+
+ Assembly resolver or null
+ Type/method/field resolver or null
+
+
+
+ creation options
+
+
+
+
+ Module context
+
+
+
+
+ PDB reader options
+
+
+
+
+ Set it to A) the path (string) of the PDB file, B) the data (byte[]) of the PDB file or
+ C) to an of the PDB data. The will
+ be owned by the module. You don't need to initialize
+
+
+
+
+ If true, will load the PDB file from disk if present, or an embedded portable PDB file
+ stored in the PE file. The default value is true.
+ You don't need to initialize .
+
+
+
+
+ corlib assembly reference to use or null if the default one from the opened
+ module should be used.
+
+
+
+
+ Runtime reader kind, default is . It should be
+ set to if it's an obfuscated Mono/Unity assembly.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Module context
+
+
+
+ Constructor
+
+ Runtime reader kind, default is . It should be
+ set to if it's an obfuscated Mono/Unity assembly.
+
+
+
+ Constructor
+
+ Module context
+ Runtime reader kind, default is . It should be
+ set to if it's an obfuscated Mono/Unity assembly.
+
+
+
+ Runtime reader kind
+
+
+
+
+ Microsoft's CLRs (.NET Framework, .NET Core)
+
+
+
+
+ Mono's CLR (Mono, Unity)
+
+
+
+
+ A high-level representation of a row in the Module table
+
+
+
+ Default characteristics
+
+
+ Default DLL characteristics
+
+
+
+ The row id in its table
+
+
+
+
+ Initialize this in the ctor
+
+
+
+
+ PDB state
+
+
+
+
+ Array of last used rid in each table. I.e., next free rid is value + 1
+
+
+
+ Module context
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/sets a user value. This is never used by dnlib. This property isn't thread safe.
+
+
+
+
+
+
+
+
+
+
+ Gets/sets Module.Generation column
+
+
+
+
+
+
+
+ Gets/sets Module.Name column
+
+
+
+ Name
+
+
+
+ Gets/sets Module.Mvid column
+
+
+
+
+
+
+
+ Gets/sets Module.EncId column
+
+
+
+
+
+
+
+ Gets/sets Module.EncBaseId column
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the module's assembly. To set this value, add this
+ to .
+
+
+
+
+
+
+
+ Gets a list of all non-nested s. See also
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets a list of all s
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the native entry point. Only one of and
+ can be set. You write to one and the other one gets cleared.
+
+
+
+
+ Gets/sets the managed entry point. Only one of and
+ can be set. You write to one and the other one gets cleared.
+
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Called to initialize
+
+
+
+
+
+
+ Gets/sets the entry point method
+
+
+
+
+ true if is non-zero
+
+
+
+
+ true if is non-null
+
+
+
+
+ true if is non-null
+
+
+
+
+ Gets a list of all s
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the . This is null if there are no
+ vtable fixups.
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+
+
+
+ Gets/sets the path of the module or an empty string if it wasn't loaded from disk
+
+
+
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the instance
+
+
+
+
+ Gets/sets the module context. This is never null.
+
+
+
+
+ If true, the cache is enabled. The cache is used by
+ and to find types.
+
+ IMPORTANT: Only enable the cache if this module's types keep their exact
+ name, namespace, and declaring type and if no type is either added or
+ removed from or from any type that is reachable from the
+ top-level types in (i.e., any type owned by this module).
+ This is disabled by default. When disabled, all calls to
+ and will result in a slow O(n) (linear) search.
+
+
+
+
+
+ true if this is the manifest (main) module
+
+
+
+
+ Gets the global (aka. <Module>) type or null if there are no types
+
+
+
+
+ true if it's the core library module, false if it's not the core library module,
+ and null if it's not known.
+
+
+
+
+ Gets/sets the Win32 resources
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ Gets the . This is null if no PDB file
+ has been loaded or if no PDB file could be found.
+
+
+
+
+ Module kind
+
+
+
+
+ Gets/sets the characteristics (from PE file header)
+
+
+
+
+ Gets/sets the DLL characteristics (from PE optional header)
+
+
+
+
+ Gets/sets the runtime version which is stored in the metadata header.
+ See .
+
+ Not thread safe
+
+
+
+ Gets the WinMD status
+
+ Not thread safe
+
+
+
+ true if this is a WinMD file
+
+
+
+
+ true if this is a managed WinMD file
+
+
+
+
+ true if this is a pure (non-managed) WinMD file
+
+
+
+
+ Gets the CLR runtime version of the managed WinMD file or null if none. This is
+ similar to for normal non-WinMD files.
+
+ Not thread safe
+
+
+
+ Gets the WinMD version or null if none
+
+ Not thread safe
+
+
+
+ true if is the CLR v1.0 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v1.0 string
+
+
+
+
+ true if is the CLR v1.1 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v1.1 string
+
+
+
+
+ true if is the CLR v1.0 or v1.1 string (only the
+ major and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v1.0 or v1.1 string
+
+
+
+
+ true if is the CLR v2.0 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v2.0 string
+
+
+
+
+ true if is the CLR v4.0 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v4.0 string
+
+
+
+
+ true if is the ECMA 2002 string
+
+
+
+
+ true if is the ECMA 2005 string
+
+
+
+
+ Gets/sets the (from PE header)
+
+
+
+
+ true if is , , ...
+
+
+
+
+ true if is
+
+
+
+
+ true if is , , ...
+
+
+
+
+ true if is , , ...
+
+
+
+
+ true if is , , ...
+
+
+
+
+ Gets/sets the (from .NET header)
+
+
+
+
+
+
+
+ Gets/sets the runtime version number in the COR20 header. The major version is
+ in the high 16 bits. The minor version is in the low 16 bits. This is normally 2.5
+ (0x00020005), but if it's .NET 1.x, it should be 2.0 (0x00020000). If this is
+ null, the default value will be used when saving the module (2.0 if CLR 1.x,
+ and 2.5 if not CLR 1.x).
+
+
+
+
+ Gets the tables header version. The major version is in the upper 8 bits and the
+ minor version is in the lower 8 bits. .NET 1.0/1.1 use version 1.0 (0x0100) and
+ .NET 2.x and later use version 2.0 (0x0200). 1.0 has no support for generics,
+ 1.1 has support for generics (GenericParam rows have an extra Kind column),
+ and 2.0 has support for generics (GenericParam rows have the standard 4 columns).
+ No other version is supported. If this is null, the default version is
+ used (1.0 if .NET 1.x, else 2.0).
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Gets all the types (including nested types) present in this module
+
+
+
+
+ Adds as a non-nested type. If it's already nested, its
+ will be set to null.
+
+ The to insert
+
+
+
+ Updates the rid to the next free rid available. It's only updated if
+ the original rid is 0.
+
+ IMDTokenProvider
+ The row that should be updated
+ Returns the input
+
+
+
+ Updates the rid to the next free rid available.
+
+ IMDTokenProvider
+ The row that should be updated
+ Returns the input
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The field
+ The imported field or null if is invalid
+ or if we failed to import the field
+
+
+
+ Imports a as a . This will be either
+ a or a .
+
+ The method
+ The imported method or null if is invalid
+ or if we failed to import the method
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a as a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The member ref
+ The imported member ref or null if is invalid
+
+
+
+ Writes the module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+
+
+
+ Writes the module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+ Writer options
+
+
+
+ Writes the module to a stream.
+
+ Destination stream
+
+
+
+ Writes the module to a stream.
+
+ Destination stream
+ Writer options
+
+
+
+ Resets the cache which can be enabled by setting
+ to true. Use this method if the cache is
+ enabled but some of the types have been modified (eg. removed, added, renamed).
+
+
+
+
+ Finds a
+
+ Type
+ Name
+ Language ID
+ The or null if none found
+
+
+
+ Creates a new
+
+ PDB file kind
+
+
+
+ Sets a
+
+ New
+
+
+
+ Returns the size of a pointer. Assumes it's 32-bit if pointer size is unknown or
+ if it can be 32-bit or 64-bit.
+
+ Size of a pointer (4 or 8)
+
+
+
+ Returns the size of a pointer
+
+ Default pointer size if it's not known or if it
+ can be 32-bit or 64-bit
+ Size of a pointer (4 or 8)
+
+
+
+ Returns the size of a pointer
+
+ Default pointer size
+ Pointer size if it's prefer-32-bit (should usually be 4)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Finds a . For speed, enable
+ if possible (read the documentation first).
+
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing or null if it wasn't found.
+
+
+
+ Finds a . Its scope (i.e., module or assembly) is ignored when
+ looking up the type. For speed, enable if possible
+ (read the documentation first).
+
+ The type ref
+ An existing or null if it wasn't found.
+
+
+
+ Finds a
+
+ The type
+ A or null if it wasn't found
+
+
+
+ Creates a new instance. There should normally only be one
+ instance shared by all s.
+
+ A new instance
+
+
+
+ Load everything in this module. All types, fields, asm refs, etc are loaded, all their
+ properties are read to make sure everything is cached.
+
+ Cancellation token or null
+
+
+
+
+
+
+ Resolves a token
+
+ The metadata token
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Gets all s
+
+
+
+
+ Gets all s
+
+
+
+
+ Gets all s. s with generic parameters
+ aren't cached and a new copy is always returned.
+
+
+
+
+ Gets all s. s with generic parameters
+ aren't cached and a new copy is always returned.
+
+ Generic parameter context
+
+
+
+ Gets all s
+
+
+
+
+ Finds an assembly reference by name. If there's more than one, pick the one with
+ the greatest version number.
+
+ Simple name of assembly (eg. "mscorlib")
+ The found or null if there's no such
+ assembly reference.
+
+
+
+ Compare asm refs' version
+
+ First asm ref
+ New asm ref
+
+
+
+
+ A Module row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ is initialized to a random
+ Module nam
+
+
+
+ Constructor
+
+ Module name
+ Module version ID
+
+
+
+ Constructor
+
+ Module name
+ Module version ID
+ Corlib assembly ref or null
+
+
+
+ Created from a row in the Module table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Module row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Initialize fields from the raw Module row
+
+
+
+
+ Created from a row in the Module table
+
+
+
+ The file that contains all .NET metadata
+
+
+
+ Gets/sets the method decrypter
+
+
+
+
+ Gets/sets the string decrypter
+
+
+
+
+ Returns the .NET metadata interface
+
+
+
+
+ Returns the #~ or #- tables stream
+
+
+
+
+ Returns the #Strings stream
+
+
+
+
+ Returns the #Blob stream
+
+
+
+
+ Returns the #GUID stream
+
+
+
+
+ Returns the #US stream
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates a instance from a file
+
+ File name of an existing .NET module/assembly
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a file
+
+ File name of an existing .NET module/assembly
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a byte[]
+
+ Contents of a .NET module/assembly
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a byte[]
+
+ Contents of a .NET module/assembly
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module context or null
+ Image layout of the module in memory
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module creation options or null
+ Image layout of the module in memory
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance
+
+ PE image
+ A new instance
+
+
+
+ Creates a instance
+
+ PE image
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance
+
+ PE image
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module context or null
+ Image layout of the file in memory
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module creation options or null
+ Image layout of the file in memory
+ A new instance
+
+
+
+ Creates a instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream (owned by caller)
+ A new instance
+ If is null
+
+
+
+ Creates a instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream (owned by caller)
+ Module context or null
+ A new instance
+ If is null
+
+
+
+ Creates a instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream (owned by caller)
+ Module creation options or null
+ A new instance
+ If is null
+
+
+
+ Creates a instance from a
+
+ The metadata
+ Module creation options or null
+ A new instance that now owns
+
+
+
+ Constructor
+
+ The metadata
+ Module creation options or null
+ If is null
+
+
+
+ Loads symbols using
+
+ PDB symbol reader
+
+
+
+ Loads symbols from a PDB file
+
+ PDB file name
+
+
+
+ Loads symbols from a PDB file
+
+ PDB reader options
+ PDB file name
+
+
+
+ Loads symbols from a byte array
+
+ PDB data
+
+
+
+ Loads symbols from a byte array
+
+ PDB reader options
+ PDB data
+
+
+
+ Loads symbols from a stream
+
+ PDB file stream which is now owned by us
+
+
+
+ Loads symbols from a stream
+
+ PDB reader options
+ PDB file stream which is now owned by us
+
+
+
+ Loads symbols if a PDB file is available
+
+
+
+
+ Loads symbols if a PDB file is available
+
+ PDB reader options
+
+
+
+ Finds a mscorlib
+
+ An existing instance or null if it wasn't found
+
+
+
+ Called when no corlib assembly reference was found
+
+
+
+
+
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ A TypeDefOrRef coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A TypeDefOrRef coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasConstant coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasCustomAttribute coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasCustomAttribute coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasFieldMarshal coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasDeclSecurity coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MemberRefParent coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MemberRefParent coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasSemantic coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MethodDefOrRef coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MethodDefOrRef coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MemberForwarded coded token
+ A or null if is invalid
+
+
+
+ Resolves an
+
+ An Implementation coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A CustomAttributeType coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A CustomAttributeType coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A ResolutionScope coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A TypeOrMethodDef> coded token
+ A or null if is invalid
+
+
+
+ Reads a signature from the #Blob stream
+
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature from the #Blob stream
+
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a from the blob
+
+ Table of owner
+ Row ID of owner
+ Generic parameter context
+ A new instance or null if there's no field
+ marshal for this owner.
+
+
+
+ Reads a CIL method body
+
+ Method parameters
+ RVA
+ A new instance. It's empty if RVA is invalid (eg. 0 or
+ it doesn't point to a CIL method body)
+
+
+
+ Reads a CIL method body
+
+ Method parameters
+ RVA
+ Generic parameter context
+ A new instance. It's empty if RVA is invalid (eg. 0 or
+ it doesn't point to a CIL method body)
+
+
+
+ Returns the owner type of a field
+
+ The field
+ The owner type or null if none
+
+
+
+ Returns the owner type of a method
+
+ The method
+ The owner type or null if none
+
+
+
+ Returns the owner type of an event
+
+ The event
+ The owner type or null if none
+
+
+
+ Returns the owner type of a property
+
+ The property
+ The owner type or null if none
+
+
+
+ Returns the owner type/method of a generic param
+
+ The generic param
+ The owner type/method or null if none
+
+
+
+ Returns the owner generic param of a generic param constraint
+
+ The generic param constraint
+ The owner generic param or null if none
+
+
+
+ Returns the owner method of a param
+
+ The param
+ The owner method or null if none
+
+
+
+ Reads a module
+
+ File rid
+ The assembly owning the module we should read
+ A new instance or null if
+ is invalid or if it's not a .NET module.
+
+
+
+ Gets a list of all File rids that are .NET modules. Call
+ to read one of these modules.
+
+ A new instance
+
+
+
+ Concatenates the inputs and returns the result if it's a valid path
+
+ Base dir
+ File name
+ Full path to the file or null if one of the inputs is invalid
+
+
+
+ Gets the base directory where this .NET module is located on disk
+
+ Base directory or null if unknown or if an error occurred
+
+
+
+ Creates a instance
+
+ ManifestResource rid
+ A new instance
+
+
+
+ Reads a
+
+ Custom attribute rid
+ A new instance or null if
+ is invalid
+
+
+
+ Reads a
+
+ Custom attribute rid
+ Generic parameter context
+ A new instance or null if
+ is invalid
+
+
+
+ Reads data somewhere in the address space of the image
+
+ RVA of data
+ Size of data
+ All the data or null if or
+ is invalid
+
+
+
+ Gets the native entry point or 0 if none
+
+
+
+
+ Gets the managed entry point (a Method or a File) or null if none
+
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a method body
+
+ Method
+ Method RVA
+ Method impl attrs
+ Generic parameter context
+ A or null if none
+
+
+
+ Updates with the PDB info (if any)
+
+ Owner method
+ Method body
+ Returns originak value
+
+
+
+ Reads a string from the #US heap
+
+ String token
+ A non-null string
+
+
+
+ Writes the mixed-mode module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+
+
+
+ Writes the mixed-mode module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+ Writer options
+
+
+
+ Writes the mixed-mode module to a stream.
+
+ Destination stream
+
+
+
+ Writes the mixed-mode module to a stream.
+
+ Destination stream
+ Writer options
+
+
+
+ Reads data from the #Blob. The following columns are returned:
+ Field.Signature
+ Method.Signature
+ MemberRef.Signature
+ Constant.Value
+ CustomAttribute.Value
+ FieldMarshal.NativeType
+ DeclSecurity.PermissionSet
+ StandAloneSig.Signature
+ Property.Type
+ TypeSpec.Signature
+ Assembly.PublicKey
+ AssemblyRef.PublicKeyOrToken
+ File.HashValue
+ MethodSpec.Instantiation
+
+ A token
+ The value in the #Blob or null if is invalid
+
+
+
+ Module kind
+
+
+
+
+ Console UI module
+
+
+
+
+ Windows GUI module
+
+
+
+
+ DLL module
+
+
+
+
+ Netmodule (it has no assembly manifest)
+
+
+
+
+ A high-level representation of a row in the ModuleRef table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column ModuleRef.Name
+
+
+
+ Name
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ Gets the definition module, i.e., the module which it references, or null
+ if the module can't be found.
+
+
+
+
+ Gets the definition assembly, i.e., the assembly of the module it references, or
+ null if the assembly can't be found.
+
+
+
+
+
+
+
+
+
+
+ A ModuleRef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Constructor
+
+ Owner module
+ Module name
+
+
+
+ Created from a row in the ModuleRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ModuleRef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Native types used by field marshals. See CorHdr.h/CorNativeType
+
+
+
+ Deprecated
+
+
+ void
+
+
+ bool
+
+
+ int8
+
+
+ unsigned int8
+
+
+ int16
+
+
+ unsigned int16
+
+
+ int32
+
+
+ unsigned int32
+
+
+ int64
+
+
+ unsigned int64
+
+
+ float32
+
+
+ float64
+
+
+ syschar
+
+
+ variant
+
+
+ currency
+
+
+ ptr
+
+
+ decimal
+
+
+ date
+
+
+ bstr
+
+
+ lpstr
+
+
+ lpwstr
+
+
+ lptstr
+
+
+ fixed sysstring
+
+
+ objectref
+
+
+ iunknown
+
+
+ idispatch
+
+
+ struct
+
+
+ interface
+
+
+ safearray
+
+
+ fixed array
+
+
+ int
+
+
+ uint
+
+
+ nested struct
+
+
+ byvalstr
+
+
+ ansi bstr
+
+
+ tbstr
+
+
+ variant bool
+
+
+ func
+
+
+ as any
+
+
+ array
+
+
+ lpstruct
+
+
+ custom marshaler
+
+
+ error
+
+
+ iinspectable
+
+
+ hstring
+
+
+ UTF-8 encoded string
+
+
+ first invalid element type
+
+
+ Value wasn't present in the blob
+
+
+ Raw marshal blob type
+
+
+
+ A resolver that always fails
+
+
+
+
+ The one and only instance of this type
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameter flags. See CorHdr.h/CorParamAttr
+
+
+
+ Param is [In]
+
+
+ Param is [out]
+
+
+ Param is a locale identifier
+
+
+ Param is a return value
+
+
+ Param is optional
+
+
+ Param has default value.
+
+
+ Param has FieldMarshal.
+
+
+
+ A high-level representation of a row in the Param table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the declaring method
+
+
+
+
+
+
+
+ From column Param.Flags
+
+
+
+ Attributes
+
+
+
+ From column Param.Sequence
+
+
+
+
+
+
+
+ From column Param.Name
+
+
+
+ Name
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if is not null
+
+
+
+
+ Gets the constant element type or if there's no constant
+
+
+
+
+ true if is not null
+
+
+
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ A Param row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Sequence
+
+
+
+ Constructor
+
+ Name
+ Sequence
+ Flags
+
+
+
+ Created from a row in the Param table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Param row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ A list of all method parameters
+
+
+
+
+ Gets the owner method
+
+
+
+
+ Gets the number of parameters, including a possible hidden 'this' parameter
+
+
+
+
+ Gets the index of the first parameter that is present in the method signature.
+ If this is a static method, the value is 0, else it's an instance method so the
+ index is 1 since the first parameter is the hidden 'this' parameter.
+
+
+
+
+ Gets the N'th parameter
+
+ The parameter index
+
+
+
+ Gets the method return parameter
+
+
+
+
+ Constructor
+
+ The method with all parameters
+ 's declaring type
+
+
+
+ Should be called when the method's declaring type has changed
+
+ Method declaring type
+
+
+
+ Should be called when the method sig has changed
+
+
+
+
+
+
+
+ Enumerator
+
+
+
+
+ Gets the current value
+
+
+
+
+ Moves to the next element in the collection
+
+
+
+
+
+ Disposes the enumerator
+
+
+
+
+ Gets the list enumerator
+
+
+
+
+
+ A method parameter
+
+
+
+
+ The hidden 'this' parameter's
+
+
+
+
+ The return type parameter's
+
+
+
+
+ Gets the parameter index. If the method has a hidden 'this' parameter, that parameter
+ has index 0 and the remaining parameters in the method signature start from index 1.
+ The method return parameter has index -1.
+
+
+
+
+ Gets the index of the parameter in the method signature. See also
+ and
+
+
+
+
+ true if it's a normal visible method parameter, i.e., it's not the hidden
+ 'this' parameter and it's not the method return type parameter.
+
+
+
+
+ true if it's the hidden 'this' parameter
+
+
+
+
+ true if it's the method return type parameter
+
+
+
+
+ Gets the parameter type
+
+
+
+
+ Gets the owner method
+
+
+
+
+ Gets the or null if not present
+
+
+
+
+ true if it has a
+
+
+
+
+ Gets the name from . If is null,
+ an empty string is returned.
+
+
+
+
+ Constructor
+
+ Parameter index
+
+
+
+ Constructor
+
+ Parameter index
+ Parameter type
+
+
+
+ Constructor
+
+ Parameter index (0 is hidden this param if it exists)
+ Index in method signature
+
+
+
+ Constructor
+
+ Parameter index (0 is hidden this param if it exists)
+ Index in method signature
+ Parameter type
+
+
+
+ Creates a if it doesn't already exist
+
+
+
+
+
+
+
+ Custom debug info guids
+
+
+
+
+ Implements and uses a as the underlying
+ stream.
+
+
+
+
+ Constructor
+
+ Source stream
+
+
+
+ Constructor
+
+ Source stream
+ Name of original file or null if unknown.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IMAGE_DEBUG_DIRECTORY
+
+
+
+
+ An address in the image
+
+
+
+
+ Section
+
+
+
+
+ Offset in
+
+
+
+
+ Constructor
+
+ Section
+ Offset in
+
+
+
+ Constructor
+
+ Section
+ Offset in
+
+
+
+ Returns true if is less than or equal to
+
+ First
+ Second
+
+
+
+
+ Returns true if is less than
+
+ First
+ Second
+
+
+
+
+ Returns true if is greater than or equal to
+
+ First
+ Second
+
+
+
+
+ Returns true if is greater than
+
+ First
+ Second
+
+
+
+
+ Returns true if is equal to
+
+ First
+ Second
+
+
+
+
+ Returns true if is not equal to
+
+ First
+ Second
+
+
+
+
+ Compares this instance with and returns less than 0 if it's
+ less than , 0 if it's equal to and
+ greater than 0 if it's greater than
+
+ Other instance
+
+
+
+
+ Compares this to another instance
+
+ The other one
+ true if they're equal
+
+
+
+ Compares this to another instance
+
+ The other one
+ true if they're equal
+
+
+
+ Gets the hash code
+
+ Hash code
+
+
+
+ ToString() override
+
+
+
+
+
+ Reads a 32-bit offset followed by a 16-bit section and creates a new
+
+ Reader
+
+
+
+
+ Exception that is thrown when encounters an error.
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Inner exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ A managed PDB reader implementation for .NET modules.
+
+
+
+
+ Read the PDB in the specified stream.
+
+ PDB file data reader
+
+
+
+ Creates a instance
+
+
+
+
+ Creates a new instance
+
+ PDB context
+ PDB file stream which is now owned by this method
+ A new instance or null.
+
+
+
+ A constant in a method scope, eg. "const int SomeConstant = 123;"
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the type of the constant
+
+
+
+
+ Gets/sets the value of the constant
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Name of constant
+ Type of constant
+ Constant value
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ ToString()
+
+
+
+
+
+ Custom debug info kind
+
+ See CustomDebugInfoKind in Roslyn source code
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base class of custom debug info added to the PDB file by the compiler
+
+
+
+
+ Gets the custom debug info kind
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Unknown custom debug info. If you see an instance of this class, you're using an old dnlib version or
+ dnlib hasn't been updated to support this new custom debug info kind.
+
+
+
+
+ Gets the custom debug info kind
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the data
+
+
+
+
+ Constructor
+
+ Custom debug info kind
+ Raw custom debug info data
+
+
+
+ Constructor
+
+ Custom debug info guid
+ Raw custom debug info data
+
+
+
+ Contains sizes of using groups
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the using counts
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains a reference to another method that contains the import strings
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the referenced method
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ The referenced method
+
+
+
+ Contains a reference to another method that contains the per-module debug info (assembly reference aliases)
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the referenced method
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ The referenced method
+
+
+
+ State machine hosted local scope info
+
+
+
+
+ true if it's a syntesized local ( and are both null)
+
+
+
+
+ The instruction of the first operation in the scope. Can be null if it's a synthesized local
+
+
+
+
+ The instruction of the first operation outside of the scope or null if it ends at the last instruction in the body.
+ Can also be null if it's a synthesized local (in which case is also null, see )
+
+
+
+
+ Constructor
+
+ Start of the scope
+ First instruction after the end of the scope
+
+
+
+ Contains local scopes for state machine hoisted local variables.
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the scopes
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains the state machine type
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the state machine type
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ State machine type
+
+
+
+ Contains dynamic flags for local variables and constants
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the dynamic locals
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Dynamic local info
+
+
+
+
+ Gets the dynamic flags
+
+
+
+
+ Gets/sets the name of the local. The name must have at most 64 characters and no char can be NUL (0x0000).
+ If null is written, is returned instead.
+
+
+
+
+ true if it's a constant and not a variable ( is null)
+
+
+
+
+ true if it's a variable ( is not null)
+
+
+
+
+ Gets/sets the local. Could be null if there's no local (it's a 'const' local).
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains the EnC local variable slot map
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the data. Spec: https://github.com/dotnet/corefx/blob/master/src/System.Reflection.Metadata/specs/PortablePdb-Metadata.md#EditAndContinueLocalSlotMap
+
+
+
+
+ Constructor
+
+ Raw custom debug info data
+
+
+
+ Contains the EnC lambda map
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the data. Spec: https://github.com/dotnet/corefx/blob/master/src/System.Reflection.Metadata/specs/PortablePdb-Metadata.md#EditAndContinueLambdaAndClosureMap
+
+
+
+
+ Constructor
+
+ Raw custom debug info data
+
+
+
+ Contains tuple element names for local variables and constants
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the tuple element names
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Tuple element name info
+
+
+
+
+ Gets/sets the name of the local. If null is written, is returned instead.
+
+
+
+
+ Gets/sets the local. It's null if it's a constant, and non-null if it's a variable
+
+
+
+
+ true if it's a constant. Constants have a scope ( and )
+
+
+
+
+ true if it's a variable. Variables don't have a scope ( and )
+
+
+
+
+ Gets/sets the start of the scope or null. Only constants have a scope.
+
+
+
+
+ Gets/sets the end of the scope or null if it has no scope or if the scope ends at the end of the body. Only constants have a scope.
+
+
+
+
+ Gets the tuple element names
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains tuple element names for local variables and constants
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the tuple element names
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Async method stepping info
+
+ It's internal and translated to a
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the catch handler instruction or null
+
+
+
+
+ Gets all async step infos
+
+
+
+
+ Constructor
+
+
+
+
+ Default namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the default namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Default namespace
+
+
+
+ Dynamic flags
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the dynamic flags
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Dynamic flags
+
+
+
+ Contains the source code
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the source code blob.
+
+ It's not decompressed and converted to a string because the encoding isn't specified.
+
+ https://github.com/dotnet/corefx/blob/master/src/System.Reflection.Metadata/specs/PortablePdb-Metadata.md#embedded-source-c-and-vb-compilers
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Source code blob
+
+
+
+ Contains the source link file
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the source link file contents
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Source link file contents
+
+
+
+ Contains the source server file
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the source server file contents
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Source server file contents
+
+
+
+ Async method info
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the starting method that initiates the async operation
+
+
+
+
+ Gets/sets the instruction for the compiler generated catch handler that wraps an async method.
+ This can be null.
+
+
+
+
+ Gets all step infos used by the debugger
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Default capacity for
+
+
+
+ Async step info used by debuggers
+
+
+
+
+ The yield instruction
+
+
+
+
+ Resume method
+
+
+
+
+ Resume instruction (where the debugger puts a breakpoint)
+
+
+
+
+ Constructor
+
+ The yield instruction
+ Resume method
+ Resume instruction (where the debugger puts a breakpoint)
+
+
+
+ Iterator method
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the kickoff method
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Kickoff method
+
+
+
+ A PDB document
+
+
+
+
+ Gets/sets the document URL
+
+
+
+
+ Gets/sets the language GUID. See
+
+
+
+
+ Gets/sets the language vendor GUID. See
+
+
+
+
+ Gets/sets the document type GUID. See
+
+
+
+
+ Gets/sets the checksum algorithm ID. See
+
+
+
+
+ Gets/sets the checksum
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ A instance
+
+
+
+ Constructor
+
+ Document URL
+ Language. See
+ Language vendor. See
+ Document type. See
+ Checksum algorithm ID. See
+ Checksum
+
+
+
+
+
+
+
+
+
+ PDB document constants
+
+
+
+
+ PDB file kind
+
+
+
+
+ Windows PDB
+
+
+
+
+ Portable PDB
+
+
+
+
+ Embedded portable PDB
+
+
+
+
+ Import scope
+
+
+
+
+ Constructor
+
+
+
+
+ Gets/sets the parent import scope
+
+
+
+
+ Gets all imports
+
+
+
+
+ true if is not empty
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Import kind
+
+
+
+
+ PDB import base class
+
+
+
+
+ Gets the import kind
+
+
+
+
+ Import namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Import assembly, namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the target assembly
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Import type
+
+
+
+
+ Returns
+
+
+
+
+ Gets the target type
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Import xml namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Import assembly reference alias
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Alias assembly reference
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target assembly
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Alias namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Alias assembly namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target assembly
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Alias type
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target type
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ A local variable
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Gets/sets the local
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the attributes
+
+
+
+
+ Gets the index of the local
+
+
+
+
+ true if it should be hidden in debugger variables windows. Not all compiler generated locals have this flag set.
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Local attributes
+
+
+
+
+ No bit is set
+
+
+
+
+ Local should be hidden in debugger variables windows. Not all compiler generated locals have this flag set.
+
+
+
+
+ A PDB method
+
+
+
+
+ Gets/sets the root scope. It contains all scopes of the method, using namespaces, variables and constants
+
+
+
+
+ Constructor
+
+
+
+
+ PDB reader options
+
+
+
+
+ No bit is set
+
+
+
+
+ Use the COM Windows PDB reader instead of the managed Windows PDB reader.
+
+ This is NOT recommended since the COM reader can only be called on the same
+ thread it was created on. It also requires a Windows OS.
+
+ If this is not set, the managed PDB reader will be used.
+
+ This option is only used if it's a Windows PDB file, not if it's a Portable PDB file.
+
+
+
+
+ Don't use Microsoft.DiaSymReader.Native. This is a NuGet package with an updated Windows PDB reader/writer implementation,
+ and if it's available at runtime, dnlib will try to use it. If this option is set, dnlib won't use it.
+ You have to add a reference to the NuGet package if you want to use it, dnlib has no reference to the NuGet package.
+
+ Only used if is set and if it's a Windows PDB file
+
+
+
+
+ Don't use diasymreader.dll's PDB reader that is shipped with .NET Framework.
+
+ Only used if is set and if it's a Windows PDB file
+
+
+
+
+ A PDB scope
+
+
+
+
+ Constructor
+
+
+
+
+ Gets/sets the first instruction
+
+
+
+
+ Gets/sets the last instruction. It's null if it ends at the end of the method.
+
+
+
+
+ Gets all child scopes
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all locals in this scope
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all namespaces (Windows PDBs). Portable PDBs use
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets/sets the import scope (Portable PDBs). Windows PDBs use
+
+
+
+
+ Gets all constants
+
+
+
+
+ true if is not empty
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ PDB state for a
+
+
+
+
+ Gets/sets the PDB file kind. You can change it from portable PDB to embedded portable PDB
+ and vice versa. Converting a Windows PDB to a portable PDB isn't supported.
+
+
+
+
+ Gets/sets the user entry point method.
+
+
+
+
+ Gets all PDB documents
+
+
+
+
+ true if is not empty
+
+
+
+
+ Constructor
+
+ Module
+ PDB file kind
+
+
+
+ Constructor
+
+ A instance
+ Owner module
+
+
+
+ Adds
+
+ New document
+ if it wasn't inserted, or the already existing document
+ if it was already inserted.
+
+
+
+ Removes
+
+ Document
+ true if it was removed, false if it wasn't inserted.
+
+
+
+ Returns an inserted instance or null if it's not been
+ inserted yet.
+
+ A PDB document
+ The existing or null if it doesn't exist.
+
+
+
+ Removes all documents
+
+
+
+
+
+ Removes all documents and optionally returns them
+
+ true if all the original s
+ should be returned.
+ All s if is true
+ or null if is false.
+
+
+
+ Constructor
+
+ Module that resolves assembly and type references
+ Portable PDB blob stream
+
+
+
+ PDB sequence point
+
+
+
+
+ PDB document
+
+
+
+
+ Start line
+
+
+
+
+ Start column
+
+
+
+
+ End line
+
+
+
+
+ End column
+
+
+
+
+ Clones this instance
+
+ A new cloned instance
+
+
+
+ Async step info
+
+
+
+
+ Yield offset
+
+
+
+
+ Breakpoint offset
+
+
+
+
+ Breakpoint method token
+
+
+
+
+ Constructor
+
+ Yield offset
+ Breakpoint offset
+ Breakpoint method token
+
+
+
+ A document
+
+
+
+
+ Gets the URL
+
+
+
+
+ Gets the language
+
+
+
+
+ Gets the language vendor
+
+
+
+
+ Gets the document type
+
+
+
+
+ Gets the checksum algorithm id
+
+
+
+
+ Gets the checksum
+
+
+
+
+ Gets the custom debug infos
+
+
+
+
+ A method
+
+
+
+
+ Gets the method token
+
+
+
+
+ Gets the root scope
+
+
+
+
+ Gets all sequence points
+
+
+
+
+ Reads custom debug info
+
+ Method
+ Method body
+ Updated with custom debug info
+
+
+
+ A namespace
+
+
+
+
+ Gets the name
+
+
+
+
+ Reads symbols from a PDB file
+
+
+
+
+ Called by the owner module before any other methods and properties are called
+
+ Owner module
+
+
+
+ Gets the PDB file kind
+
+
+
+
+ Gets the user entry point token or 0 if none
+
+
+
+
+ Gets all documents
+
+
+
+
+ Gets a method or returns null if the method doesn't exist in the PDB file
+
+ Method
+ Edit and continue version. The first version is 1
+
+
+
+
+ Reads custom debug info
+
+ Token of a instance
+ Generic parameter context
+ Updated with custom debug info
+
+
+
+ Cleans up resources
+
+
+
+
+ A scope
+
+
+
+
+ Gets the method
+
+
+
+
+ Gets the parent scope
+
+
+
+
+ Gets the start offset of the scope in the method
+
+
+
+
+ Gets the end offset of the scope in the method
+
+
+
+
+ Gets all child scopes
+
+
+
+
+ Gets all locals defined in this scope
+
+
+
+
+ Gets all namespaces in this scope
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Gets the import scope or null if none
+
+
+
+
+ Gets all the constants
+
+ Owner module if a signature must be read from the #Blob
+ Generic parameter context
+
+
+
+
+ Sequence point
+
+
+
+
+ IL offset
+
+
+
+
+ Document
+
+
+
+
+ Start line
+
+
+
+
+ Start column
+
+
+
+
+ End line
+
+
+
+
+ End column
+
+
+
+
+ A variable
+
+
+
+
+ Gets the name
+
+
+
+
+ Gets the attributes
+
+
+
+
+ Gets the index of the variable
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Reads custom debug infos produced by the C# and Visual Basic compilers. They're stored in PDB files
+ as PDB method custom attributes with the name "MD2".
+
+
+
+
+ Reads custom debug info
+
+ Method
+ The method's body. Needs to be provided by the caller since we're called from
+ PDB-init code when the Body property hasn't been initialized yet
+ Place all custom debug info in this list
+ Custom debug info from the PDB file
+
+
+
+ Writes custom debug infos produced by the C# and Visual Basic compilers. They're stored in PDB files
+ as PDB method custom attributes with the name "MD2".
+
+
+
+
+ Returns the raw custom debug info or null if there was an error
+
+ Metadata
+ Writer context
+ Method
+ Custom debug infos to write
+
+
+
+
+
+
+
+ P/Invoke attributes, see CorHdr.h/CorPinvokeMap
+
+
+
+ Pinvoke is to use the member name as specified.
+
+
+ Use this mask to retrieve the CharSet information.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Information about target function. Not relevant for fields.
+
+
+
+
+
+ Pinvoke will use native callconv appropriate to target windows platform.
+
+
+
+
+
+
+
+
+
+
+
+ In M9, pinvoke will raise exception.
+
+
+
+
+
+
+ Property attributes, see CorHdr.h/CorPropertyAttr
+
+
+
+ property is special. Name describes how.
+
+
+ Runtime(metadata internal APIs) should check name encoding.
+
+
+ Property has default
+
+
+
+ A high-level representation of a row in the Property table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Property.PropFlags
+
+
+
+ Attributes
+
+
+
+ From column Property.Name
+
+
+
+ Name
+
+
+
+ From column Property.Type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the first getter method. Writing null will clear all get methods.
+
+
+
+
+ Gets/sets the first setter method. Writing null will clear all set methods.
+
+
+
+
+ Gets all getter methods
+
+
+
+
+ Gets all setter methods
+
+
+
+
+ Gets the other methods
+
+
+
+
+ Initializes , ,
+ and .
+
+
+
+
+
+
+
+
+
+
+
+
+ Reset , ,
+
+
+
+ true if there are no methods attached to this property
+
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the constant element type or if there's no constant
+
+
+
+
+ Gets/sets the property sig
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+
+ Gets the full name of the property
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+ A Property row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Property signature
+
+
+
+ Constructor
+
+ Name
+ Property signature
+ Flags
+
+
+
+ Created from a row in the Property table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Property row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ Represents a public key
+
+
+
+
+ Gets the
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Public key data
+
+
+
+ Constructor
+
+ Public key data as a hex string or the string "null"
+ to set public key data to null
+
+
+
+
+
+
+
+
+
+ Public key / public key token base class
+
+
+
+
+ The key data
+
+
+
+
+ Returns true if is null or empty
+
+
+
+
+ Returns true if is null
+
+
+
+
+ Gets/sets key data
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+ Key data
+
+
+
+ Constructor
+
+ Key data as a hex string or the string "null"
+ to set key data to null
+
+
+
+ Checks whether a public key or token is null or empty
+
+ Public key or token instance
+
+
+
+ Returns a
+
+ A or a instance
+
+
+
+ Compares two s as s
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two public key tokens are equal
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Compares two s
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two public key tokens are equal
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Gets the public key token hash code
+
+ Public key or token
+ The hash code
+
+
+
+ Gets the public key token hash code
+
+ Public key token
+ The hash code
+
+
+
+ Creates a
+
+ Public key data or null
+ A new instance or null if
+ was null
+
+
+
+ Creates a
+
+ Public key token data or null
+ A new instance or null if
+ was null
+
+
+
+ Gets the raw public key / public key token byte array
+
+ The instance or null
+ Raw public key / public key token data or null
+
+
+
+
+
+
+ Represents a public key token
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Recursion counter
+
+
+
+
+ Max recursion count. If this is reached, we won't continue, and will use a default value.
+
+
+
+
+ Gets the recursion counter
+
+
+
+
+ Increments if it's not too high. ALL instance methods
+ that can be called recursively must call this method and
+ (if this method returns true)
+
+ true if it was incremented and caller can continue, false if
+ it was not incremented and the caller must return to its caller.
+
+
+
+ Must be called before returning to caller if
+ returned true.
+
+
+
+
+
+
+
+ Extension methods for reflection types, methods, fields
+
+
+
+
+ Checks whether it's a
+
+ The type
+
+
+
+ Gets a 's
+
+ The type
+ The type's element type
+
+
+
+ Returns true if is a generic method, but
+ not a generic method definition, i.e., a MethodSpec.
+
+ The method
+
+
+
+ Checks whether a parameter/prop/event type should be treated as if it is really a
+ generic instance type and not a generic type definition. In the .NET metadata (method
+ sig), the parameter is a generic instance type, but the CLR treats it as if it's just
+ a generic type def. This seems to happen only if the parameter type is exactly the same
+ type as the declaring type, eg. a method similar to: MyType<!0> MyType::SomeMethod().
+
+ Declaring type of method/event/property
+ Parameter/property/event type
+
+
+
+ Checks whether is a type definition and not a type spec
+ (eg. pointer or generic type instantiation)
+
+ this
+
+
+
+ Resolve exception base class
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Thrown if an assembly couldn't be resolved
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Thrown if a type couldn't be resolved
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Thrown if a method/field couldn't be resolved
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Resolves types, methods, fields
+
+
+
+
+ true to project WinMD types to CLR types, eg. Windows.UI.Xaml.Interop.TypeName
+ gets converted to System.Type before trying to resolve the type. This is enabled
+ by default.
+
+
+
+
+ Constructor
+
+ The assembly resolver
+
+
+
+
+
+
+
+
+
+ Type of resource
+
+
+
+
+ It's a
+
+
+
+
+ It's a
+
+
+
+
+ It's a
+
+
+
+
+ Resource base class
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the offset of the resource
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the flags
+
+
+
+
+ Gets the type of resource
+
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Constructor
+
+ Name
+ flags
+
+
+
+ A resource that is embedded in a .NET module. This is the most common type of resource.
+
+
+
+
+ Gets the length of the data
+
+
+
+
+
+
+
+ Constructor
+
+ Name of resource
+ Resource data
+ Resource flags
+
+
+
+ Constructor
+
+ Name of resource
+ Data reader factory
+ Offset of resource data
+ Length of resource data
+ Resource flags
+
+
+
+ Gets a data reader that can access the resource
+
+
+
+
+
+
+
+
+ A reference to a resource in another assembly
+
+
+
+
+
+
+
+ Gets/sets the assembly reference
+
+
+
+
+ Constructor
+
+ Name of resource
+ Assembly reference
+ Resource flags
+
+
+
+
+
+
+ A resource that is stored in a file on disk
+
+
+
+
+
+
+
+ Gets/sets the file
+
+
+
+
+ Gets/sets the hash
+
+
+
+
+ Gets/sets the file name
+
+
+
+
+ Constructor
+
+ Name of resource
+ The file
+ Resource flags
+
+
+
+
+
+
+ A collection of s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ List listener
+
+
+
+ Constructor
+
+ Initial length of the list
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ Finds the index of a resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds the index of an embedded resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds the index of an assembly linked resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds the index of a linked resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds a resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Finds an embedded resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Finds an assembly linked resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Finds a linked resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Built-in resource data
+
+
+
+
+ Gets the data
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Type of data
+ Data
+
+
+
+
+
+
+
+
+
+ Implemented by all resource data
+
+
+
+
+ Gets the type of data
+
+
+
+
+ Start offset of the section in the file
+
+
+
+
+ End offset of the section in the file. This is one byte after the last
+ valid offset in the section.
+
+
+
+
+ Writes the data
+
+ Writer
+ Formatter if needed by implementer
+
+
+
+ Creates resource data
+
+
+
+
+ Gets the owner module
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Gets number of user data types
+
+
+
+
+ Create null data
+
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates array data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates serialized data
+
+ Serialized data
+ Type of serialized data
+
+
+
+
+ Creates serialized data
+
+ Serialized data
+
+
+
+
+ Creates a user type. If the type already exists, the existing value is returned.
+
+ Full name of type
+
+
+
+
+ Creates a user type. If the type already exists, the existing value is returned.
+
+ Full name of type
+ Use without converting it to a
+ type in an existing assembly reference
+
+
+
+
+ Converts an assembly simple name (eg. mscorlib) to the full name of the assembly,
+ which includes the version, public key token, etc. Returns null if it's
+ unknown.
+
+ Simple name of assembly
+
+
+
+
+ Gets all types sorted by
+
+
+
+
+
+ Resource element
+
+
+
+
+ Name of resource
+
+
+
+
+ Data of resource
+
+
+
+
+
+
+
+ Resource element set
+
+
+
+
+ Gets the number of elements in the set
+
+
+
+
+ Gets all resource elements
+
+
+
+
+ Adds a new resource to the set, overwriting any existing resource
+
+
+
+
+
+ Thrown by
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Message
+
+
+
+ Constructor
+
+
+
+
+
+
+ Gets called to create a from serialized data. Returns null
+ if a default instance should be created.
+
+ ResourceDataFactory
+ Serialized type
+ Serialized data
+
+
+
+
+ Reads .NET resources
+
+
+
+
+ Returns true if it's possibly resources file data
+
+ Reader
+
+
+
+
+ Reads a .NET resource
+
+ Owner module
+ Data of resource
+
+
+
+
+ Reads a .NET resource
+
+ Owner module
+ Data of resource
+ Call back that gets called to create a instance. Can be null.
+
+
+
+
+ Type of resource
+
+
+
+
+ null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ array
+
+
+
+
+
+
+
+
+
+ Start of user types
+
+
+
+
+ Writes .NET resources
+
+
+
+
+ Write .NET resources
+
+ Owner module
+ Output stream
+ .NET resources
+
+
+
+ Base class of all user data
+
+
+
+
+ Full name including assembly of type
+
+
+
+
+ User type code
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ User resource type
+
+
+
+
+
+
+ Binary data
+
+
+
+
+ Gets the raw data
+
+
+
+
+ Constructor
+
+ User resource type
+ Raw serialized data
+
+
+
+
+
+
+
+
+
+ User resource type
+
+
+
+
+ Full name including assembly of type
+
+
+
+
+ User type code
+
+
+
+
+ Constructor
+
+ Full name including assembly of type
+ User type code
+
+
+
+
+
+
+ Security action. See CorHdr.h/CorDeclSecurity
+
+
+
+ Mask allows growth of enum.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Persisted grant set at prejit time
+
+
+ Persisted grant set at prejit time
+
+
+ Persisted denied set at prejit time
+
+
+ Persisted denied set at prejit time
+
+
+
+
+
+
+
+
+
+
+
+ Maximum legal value
+
+
+
+ A DeclSecurity security attribute
+
+
+
+
+ Gets/sets the attribute type
+
+
+
+
+ Gets the full name of the attribute type
+
+
+
+
+ Gets all named arguments (field and property values)
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all s that are field arguments
+
+
+
+
+ Gets all s that are property arguments
+
+
+
+
+ Creates a from an XML string.
+
+ Owner module
+ XML
+ A new instance
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Attribute type
+
+
+
+ Constructor
+
+ Attribute type
+ Named arguments that will be owned by this instance
+
+
+
+
+
+
+ See CorSerializationType/CorHdr.h
+
+
+
+
+
+
+ System.Boolean
+
+
+ System.Char
+
+
+ System.SByte
+
+
+ System.Byte
+
+
+ System.Int16
+
+
+ System.UInt16
+
+
+ System.Int32
+
+
+ System.UInt32
+
+
+ System.Int64
+
+
+ System.UInt64
+
+
+ System.Single
+
+
+ System.Double
+
+
+ System.String
+
+
+ Single-dimension, zero lower bound array ([])
+
+
+ System.Type
+
+
+ Boxed value type
+
+
+ A field
+
+
+ A property
+
+
+ An enum
+
+
+
+ Compares types
+
+
+
+
+ Default instance
+
+
+
+
+ Case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compares fields
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compares methods
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compares properties
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+ Compares events
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+ Compares calling convention signatures
+
+
+
+
+ Default instance
+
+
+
+
+ Case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Decides how to compare types, sigs, etc
+
+
+
+
+ Don't compare a type's (assembly/module) scope
+
+
+
+
+ Compares a method/field's declaring type.
+
+
+
+
+ Compares a property's declaring type
+
+
+
+
+ Compares an event's declaring type
+
+
+
+
+ Compares method / field / property / event declaring types
+
+
+
+
+ Compares parameters after a sentinel in method sigs. Should not be enabled when
+ comparing s against s since it's
+ not possible to get those sentinel params from a .
+
+
+
+
+ Compares assembly public key token
+
+
+
+
+ Compares assembly version
+
+
+
+
+ Compares assembly locale
+
+
+
+
+ If set, a and an can reference the
+ global <Module> type.
+
+
+
+
+ Don't compare a method/property's return type
+
+
+
+
+ Type namespaces are case insensitive
+
+
+
+
+ Type names (not namespaces) are case insensitive
+
+
+
+
+ Type names and namespaces are case insensitive
+
+
+
+
+ Method and field names are case insensitive
+
+
+
+
+ Property names are case insensitive
+
+
+
+
+ Event names are case insensitive
+
+
+
+
+ Type namespaces, type names, method names, field names, property names
+ and event names are all case insensitive
+
+
+
+
+ A field that is can compare equal to
+ a
+
+
+
+
+ A method that is can compare equal to
+ a
+
+
+
+
+ A field that is and a method that is
+ can compare equal to a
+
+
+
+
+ Raw (bit by bit) comparison of signatures. This matches what the CLR does when it
+ compares signatures. This means that metadata tokens will be compared.
+
+
+
+
+ Ignore required and optional modifiers when comparing s.
+ They're already ignored when comparing eg. a with a
+ .
+
+
+
+
+ By default, all module and assembly compares when they're both the system library
+ (eg. mscorlib or System.Runtime.dll) return true, even if they're really different,
+ eg. mscorlib (.NET 2.0) vs mscorlib (Windows CE). If this flag is set, the system
+ library is compared just like any other module/assembly.
+
+
+
+
+ Don't project CLR compatible WinMD references back to the original CLR type/method before comparing
+
+
+
+
+ Don't check type equivalence when comparing types. Starting with .NET 4.0, two different
+ types can be considered equivalent if eg. a TypeIdentifierAttribute is used.
+
+
+
+
+ When comparing types, don't compare a multi-dimensional array's lower bounds and sizes
+
+
+
+
+ Compares types, signatures, methods, fields, properties, events
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+ Constructor
+
+ Comparison options
+ The module which the comparison take place in.
+
+
+
+ is mapped to , so use
+ the same hash code for both
+
+
+
+
+ Compare members
+
+ Member #1
+ Member #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a member
+
+ The member
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares resolution scopes
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares implementation
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares resolution scope and implementation
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares files
+
+ File #1
+ File #2
+ true if same, false otherwise
+
+
+
+ Compares a module with a file
+
+ Module
+ File
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares assemblies
+
+ Assembly #1
+ Assembly #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares type lists
+
+ Type list #1
+ Type list #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type list
+
+ The type list
+ The hash code
+
+
+
+ Compares signatures
+
+ Sig #1
+ Sig #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a sig
+
+ The sig
+ The hash code
+
+
+
+ Compares method/property sigs
+
+ Method/property #1
+ Method/property #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a method/property sig
+
+ The method/property sig
+ The hash code
+
+
+
+ Compares field sigs
+
+ Field sig #1
+ Field sig #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field sig
+
+ The field sig
+ The hash code
+
+
+
+ Compares local sigs
+
+ Local sig #1
+ Local sig #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a local sig
+
+ The local sig
+ The hash code
+
+
+
+ Compares generic method instance sigs
+
+ Generic inst method #1
+ Generic inst method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a generic instance method sig
+
+ The generic inst method sig
+ The hash code
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a method
+
+ The method
+ The hash code
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a method
+
+ The method
+ The hash code
+
+
+
+ Compares MemberRefs
+
+ MemberRef #1
+ MemberRef #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MemberRef
+
+ The MemberRef
+ The hash code
+
+
+
+ Compares MethodSpecs
+
+ MethodSpec #1
+ MethodSpec #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MethodSpec
+
+ The MethodSpec
+ The hash code
+
+
+
+ Compares MemberRefParents
+
+ MemberRefParent #1
+ MemberRefParent #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MemberRefParent
+
+ The MemberRefParent
+ The hash code
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field
+
+ The field
+ The hash code
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field
+
+ The field
+ The hash code
+
+
+
+ Compares properties
+
+ Property #1
+ Property #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a property
+
+ The property
+ The hash code
+
+
+
+ Compares events
+
+ Event #1
+ Event #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of an event
+
+ The event
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Checks whether it's FnPtr&, FnPtr*, FnPtr[], or FnPtr[...]
+
+ The type
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if we should treat
+ as a generic instance type
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Gets the hash code of a type
+
+ The type
+ true if we should treat
+ as a generic instance type
+ The hash code
+
+
+
+ Gets the hash code of a type list
+
+ The type list
+ The hash code
+
+
+
+ Gets the hash code of a list with only generic method parameters ()
+
+ Number of generic method parameters
+ Hash code
+
+
+
+ Gets the hash code of a TypeDef type
+
+ The type
+ The hash code
+
+
+
+ Compares type lists
+
+ Type list #1
+ Type list #2
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares a file and a module
+
+ File
+ Module
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares assemblies
+
+ Assembly #1
+ Assembly #2
+ true if same, false otherwise
+
+
+
+ Compares method declaring types
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares method sigs
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares method sigs
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares generic method args, making sure only
+ contains s.
+
+ Number of generic method args in method #1
+ Generic method args in method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MethodBase
+
+ The MethodBase
+ The hash code
+
+
+
+ Gets the hash code of a parameter list
+
+ The type list
+ Declaring type of method that owns parameter
+ The hash code
+
+
+
+ Compares calling conventions
+
+ Calling convention
+ Method
+
+
+
+
+ Compares return types
+
+ Return type #1
+ MethodBase
+ true if same, false otherwise
+
+
+
+ Compares parameter lists
+
+ Type list #1
+ Type list #2
+ Declaring type of method that owns parameter
+ true if same, false otherwise
+
+
+
+ Compares parameter types
+
+ Parameter type #1
+ Parameter #2
+ Declaring type of method that owns parameter
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field
+
+ The field
+ The hash code
+
+
+
+ Compares properties
+
+ Property #1
+ Property #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a property
+
+ The property
+ The hash code
+
+
+
+ Compares events
+
+ Event #1
+ Event #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of an event
+
+ The event
+ The hash code
+
+
+
+
+
+
+ Helps resolve types
+
+
+
+
+ Resolves a
+
+ A TypeDefOrRef coded token
+ Generic parameter context
+ A or null if
+ is invalid
+
+
+
+ Converts the address of a to a
+
+
+ Address of . This is also known as the
+ method table and has the same value as
+ A or null if not supported
+
+
+
+ Reads signatures from the #Blob stream
+
+
+
+
+ Reads a signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ Generic parameter context
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Constructor
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+
+
+
+ Constructor
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+
+
+
+ Reads the signature
+
+ A new instance or null if invalid signature
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads the next type
+
+ A new instance or null if invalid element type
+
+
+
+ A high-level representation of a row in the StandAloneSig table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column StandAloneSig.Signature
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the method sig
+
+
+
+
+ Gets/sets the locals sig
+
+
+
+
+
+
+
+ A StandAloneSig row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ A locals sig
+
+
+
+ Constructor
+
+ A method sig
+
+
+
+ Created from a row in the StandAloneSig table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this StandAloneSig row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Thrown if the strong name key or public key is invalid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ Other exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ Type of signature algorithm. See WinCrypt.h in the Windows SDK
+
+
+
+
+ RSA signature algorithm
+
+
+
+
+ A public key
+
+
+
+
+ Gets/sets the signature algorithm
+
+
+
+
+ Gets/sets the hash algorithm
+
+
+
+
+ Gets/sets the modulus
+
+
+
+
+ Gets/sets the public exponent
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Modulus
+ Public exponent
+
+
+
+ Constructor
+
+ Modulus
+ Public exponent
+ Hash algorithm
+
+
+
+ Constructor
+
+ Modulus
+ Public exponent
+ Hash algorithm
+ Signature algorithm
+
+
+
+ Constructor
+
+ Public key
+
+
+
+ Constructor
+
+ Public key data
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Public key file
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Public key stream
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Public key reader
+ Strong name key is invalid
+
+
+
+ Creates a public key blob
+
+
+
+
+
+
+
+ Stores a strong name key pair
+
+
+
+
+ Gets the public key
+
+
+
+
+ Gets the strong name signature size in bytes
+
+
+
+
+ Gets the public key hash algorithm. It's usually
+
+
+
+
+ Gets the public exponent
+
+
+
+
+ Gets the modulus
+
+
+
+
+ Gets prime1
+
+
+
+
+ Gets prime2
+
+
+
+
+ Gets exponent1
+
+
+
+
+ Gets exponent2
+
+
+
+
+ Gets the coefficient
+
+
+
+
+ Gets the private exponent
+
+
+
+
+ Constructor
+
+ Strong name key data
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Strong name key file
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Strong name key stream
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Strong name key reader
+ Strong name key is invalid
+
+
+
+ Creates a strong name key with a new hash algorithm
+
+ Algorithm
+
+
+
+
+ Creates an instance
+
+
+
+
+ Creates a strong name blob
+
+
+
+
+ Creates a counter signature, just like
+ sn -a IdentityPubKey.snk IdentityKey.snk SignaturePubKey.snk can do.
+ The public key sn prints is 's value.
+
+ Identity public key
+ Identity strong name key pair
+ Signature public key
+ The counter signature as a hex string
+
+
+
+ Creates a counter signature, just like
+ sn -a IdentityPubKey.snk IdentityKey.snk SignaturePubKey.snk can do.
+ The public key sn prints is 's value.
+
+ Identity public key
+ Identity strong name key pair
+ Signature public key
+ The counter signature
+
+
+
+ Strong name signs an assembly. It supports normal strong name signing and the new
+ (.NET 4.5) enhanced strong name signing.
+
+
+
+
+ Constructor
+
+ .NET PE file stream
+
+
+
+ Constructor
+
+ .NET PE file stream
+ Offset in of the first byte of
+ the PE file.
+
+
+
+ Calculates the strong name signature and writes it to the stream. The signature
+ is also returned.
+
+ Strong name key used for signing
+ Offset (relative to the start of the PE file) of the strong
+ name signature.
+ The strong name signature
+
+
+
+ Calculates and returns the strong name signature
+
+ Strong name key used for signing
+ Offset (relative to start of PE file) of the strong
+ name signature.
+ The strong name signature
+
+
+
+ Strong name hashes the .NET file
+
+ Hash algorithm
+ Strong name sig offset (relative to start of .NET PE file)
+ Size of strong name signature
+ The strong name hash of the .NET file
+
+
+
+ Returns the strong name signature
+
+ Strong name key
+ Hash algorithm
+ Strong name hash of the .NET PE file
+ Strong name signature
+
+
+
+ System.Runtime.InteropServices.TypeIdentifierAttribute helper code used by
+
+
+
+
+ TypeDef and ExportedType flags. See CorHdr.h/CorTypeAttr
+
+
+
+ Use this mask to retrieve the type visibility information.
+
+
+ Class is not public scope.
+
+
+ Class is public scope.
+
+
+ Class is nested with public visibility.
+
+
+ Class is nested with private visibility.
+
+
+ Class is nested with family visibility.
+
+
+ Class is nested with assembly visibility.
+
+
+ Class is nested with family and assembly visibility.
+
+
+ Class is nested with family or assembly visibility.
+
+
+ Use this mask to retrieve class layout information
+
+
+ Class fields are auto-laid out
+
+
+ Class fields are laid out sequentially
+
+
+ Layout is supplied explicitly
+
+
+ Use this mask to retrieve class semantics information.
+
+
+ Use this mask to retrieve class semantics information.
+
+
+ Type is a class.
+
+
+ Type is an interface.
+
+
+ Class is abstract
+
+
+ Class is concrete and may not be extended
+
+
+ Class name is special. Name describes how.
+
+
+ Class / interface is imported
+
+
+ The class is Serializable.
+
+
+ The type is a Windows Runtime type
+
+
+ Use StringFormatMask to retrieve string information for native interop
+
+
+ LPTSTR is interpreted as ANSI in this class
+
+
+ LPTSTR is interpreted as UNICODE
+
+
+ LPTSTR is interpreted automatically
+
+
+ A non-standard encoding specified by CustomFormatMask
+
+
+ Use this mask to retrieve non-standard encoding information for native interop. The meaning of the values of these 2 bits is unspecified.
+
+
+ Initialize the class any time before first static field access.
+
+
+ This ExportedType is a type forwarder.
+
+
+ Flags reserved for runtime use.
+
+
+ Runtime should check name encoding.
+
+
+ Class has security associate with it.
+
+
+
+ A high-level representation of a row in the TypeDef table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always returns false since a does not contain any
+ or .
+
+
+
+
+
+
+
+ Gets/sets the owner module
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ From column TypeDef.Flags
+
+
+
+ Attributes
+
+
+
+ From column TypeDef.Name
+
+
+
+ Name
+
+
+
+ From column TypeDef.Namespace
+
+
+
+ Name
+
+
+
+ From column TypeDef.Extends
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ From column TypeDef.FieldList
+
+
+
+
+
+
+ Initializes
+
+
+
+ From column TypeDef.MethodList
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the interfaces
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the class layout
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+
+
+
+ Gets/sets the enclosing type. It's null if this isn't a nested class.
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ Gets all the nested types
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all events
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all properties
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets/sets the packing size. If you write to this property but
+ is null, it will be created. The value is returned
+ if is null.
+
+
+
+
+ Gets/sets the class size. If you write to this property but
+ is null, it will be created. The value is returned
+ if is null.
+
+
+
+
+
+
+
+ true if it's an enum
+
+
+
+
+ true if it's a delegate (it derives from )
+
+
+
+
+ true if this is a nested type (it has a declaring type)
+
+
+
+
+
+
+
+ Checks whether this type has opted into equivalence
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the layout
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the string format
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if this is the global (aka. <Module>) type
+
+
+
+
+ Gets a list of all nested types and all their nested types
+
+
+
+
+ Gets an enum's underlying type or null if none. Should only be called
+ if this is an enum.
+
+
+
+
+ Resolves a method or a field. (owner type) is ignored when
+ resolving the method/field. Private scope methods/fields are not returned.
+
+ A method/field reference
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Resolves a method or a field. (owner type) is ignored when
+ resolving the method/field.
+
+ A method/field reference
+ Method/field signature comparison options
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Finds a method. Private scope methods are not returned.
+
+ Method name
+ Method signature
+ The first method that matches or null if none found
+
+
+
+ Finds a method
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The first method that matches or null if none found
+
+
+
+ Finds a method
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The module that needs to find the method or null
+ The first method that matches or null if none found
+
+
+
+ Finds a method by name
+
+ Name of method
+ The or null if not found
+
+
+
+ Finds all methods by name
+
+ Name of method
+ All methods with that name
+
+
+
+ Finds the class constructor (aka type initializer). It's the method named .cctor
+
+ The class constructor or null if none found
+
+
+
+ Finds the class constructor (aka type initializer). It's the method named .cctor.
+ If it doesn't exist, it is created, inserted into and returned.
+ The created .cctor will have just one RET instruction.
+
+ The class constructor
+
+
+
+ Finds all instance constructors (not class constructors)
+
+ All instance constructors
+
+
+
+ Finds all static and instance constructors
+
+ All static and instance constructors
+
+
+
+ Finds the default instance constructor (the one with no arguments)
+
+ The default instance constructor or null if none
+
+
+
+ Finds a field. Private scope fields are not returned.
+
+ Field name
+ Field signature
+ The first field that matches or null if none found
+
+
+
+ Finds a field
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The first field that matches or null if none found
+
+
+
+ Finds a field
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The module that needs to find the field or null
+ The first field that matches or null if none found
+
+
+
+ Finds a field by name
+
+ Name of field
+ The or null if not found
+
+
+
+ Finds all fields by name
+
+ Name of field
+ All fields with that name
+
+
+
+ Finds an event
+
+ Name of event
+ Type of event
+ A or null if not found
+
+
+
+ Finds an event
+
+ Name of event
+ Type of event
+ Event type comparison options
+ A or null if not found
+
+
+
+ Finds an event
+
+ Name of event
+ Type of event
+ Event type comparison options
+ The module that needs to find the event or null
+ A or null if not found
+
+
+
+ Finds an event by name
+
+ Name of event
+ The or null if not found
+
+
+
+ Finds all events by name
+
+ Name of event
+ All events with that name
+
+
+
+ Finds a property
+
+ Name of property
+ Property signature
+ A or null if not found
+
+
+
+ Finds a property
+
+ Name of property
+ Property signature
+ Property signature comparison options
+ A or null if not found
+
+
+
+ Finds a property
+
+ Name of property
+ Property signature
+ Property signature comparison options
+ The module that needs to find the property or null
+ A or null if not found
+
+
+
+ Finds a prop by name
+
+ Name of prop
+ The or null if not found
+
+
+
+ Finds all props by name
+
+ Name of prop
+ All props with that name
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ Method signature
+ The method or null if it wasn't found
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The method or null if it wasn't found
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The module that needs to find the method or null
+ The method or null if it wasn't found
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ The method or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ Field signature
+ The field or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The field or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The module that needs to find the field or null
+ The field or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ The field or null if it wasn't found
+
+
+
+ Finds an event by checking this type or any of its base types
+
+ Event name
+ Event type
+ The event or null if it wasn't found
+
+
+
+ Finds an event by checking this type or any of its base types
+
+ Event name
+ The event or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ Property signature
+ The property or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ Property signature
+ Property signature comparison options
+ The property or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ Property signature
+ Property signature comparison options
+ The module that needs to find the property or null
+ The property or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ The property or null if it wasn't found
+
+
+
+ Removes a method from this type. It also removes it from any properties and events.
+
+ The method to remove
+
+
+
+ Removes a method from this type. It also removes it from any properties and events.
+
+ The method to remove
+ true if we should remove all
+ empty properties and events.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all fields named
+
+ Field name
+ A list of 0 or more fields with name
+
+
+
+ Gets the first field named
+
+ Field name
+ The field or null if none found
+
+
+
+ FInd a method implementation method
+
+ Method
+
+
+
+
+
+
+
+ A TypeDef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Namespace
+ Name
+
+
+
+ Constructor
+
+ Name
+ Base class or null if it's an interface
+
+
+
+ Constructor
+
+ Namespace
+ Name
+ Base class or null if it's an interface
+
+
+
+ Created from a row in the TypeDef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this TypeDef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Gets all methods overrides
+
+ The method
+ Generic parameter context
+ A list (possibly empty) of all methods overrides
+
+
+
+ Initializes all . Only those s
+ that are property or event handlers get updated.
+
+
+
+
+ Initializes a property's special methods
+
+ The property
+ Updated with a list of all get methods
+ Updated with a list of all set methods
+ Updated with a list of all other methods
+
+
+
+ Initializes an event's special methods
+
+ The event
+ Updated with the addOn method or null if none
+ Updated with the fire method or null if none
+ Updated with the removeOn method or null if none
+ Updated with a list of all other methods
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Finds s
+
+
+
+
+ true if the cache is enabled. false if the cache
+ is disabled and a slower O(n) lookup is performed.
+
+
+
+
+ Constructor
+
+ All root types. All their nested types are also included.
+ If is null
+
+
+
+ Constructor
+
+ All root types
+ true if all nested types that are reachable
+ from should also be included.
+ If is null
+
+
+
+ Resets the cache (clears all cached elements). Use this method if the cache is
+ enabled but some of the types have been modified (eg. removed, added, renamed).
+
+
+
+
+
+
+
+
+
+
+ Gets the next or null if there are no more left
+
+ The next or null if none
+
+
+
+ Gets the next or null if there are no more left.
+ The cache is updated with the returned before the method
+ returns.
+
+ The next or null if none
+
+
+
+
+
+
+ Various helper methods for classes to prevent infinite recursion
+
+
+
+
+ Checks whether contains a or a
+ .
+
+ Calling convention signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Field signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Method or property signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Local signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Generic method signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Thrown by when it fails to parse a type name
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Helps create types
+
+
+
+
+ Finds a 's when the original assembly
+ info is missing from the full type name.
+
+ A non-nested
+ 's or null
+
+
+
+ Parses a type name and creates an
+
+
+
+ Owner module
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance or null if parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance or null if parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance or null if parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance or null if parsing failed
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+
+
+
+ Parses a type name and creates a
+
+ A new instance
+ If parsing failed
+
+
+
+ Parses a type name and creates a
+
+ A new instance
+ If parsing failed
+
+
+
+ Increment recursion counter
+
+ If this method has been called too many times
+
+
+
+ Decrement recursion counter
+
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Reads a including any possible nested s.
+
+ Character separating nested types
+ A new instance, which could be nested.
+
+
+
+ Reads a namespace and name and creates a TypeRef. Does not read any nested types.
+
+ A new instance
+
+
+
+ Peeks the next char. -1 if no more chars.
+
+
+
+
+ Gets the next char or -1 if no more chars
+
+
+
+
+ Gets the next ID char or -1 if no more ID chars
+
+ true if white space should be ignored
+
+
+
+ Parses reflection type names. Grammar http://msdn.microsoft.com/en-us/library/yfsftwz6.aspx
+
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+
+
+
+ Parses an assembly name
+
+ Full assembly name
+ A new instance or null if parsing failed
+
+
+
+ Parses an assembly name
+
+ Full assembly name
+ Generic parameter context
+ A new instance or null if parsing failed
+
+
+
+
+
+
+ A high-level representation of a row in the TypeRef table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always returns false since a does not contain any
+ or .
+
+
+
+
+
+
+
+ From column TypeRef.ResolutionScope
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ From column TypeRef.Name
+
+
+
+ Name
+
+
+
+ From column TypeRef.Namespace
+
+
+
+ Name
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if it's nested within another
+
+
+
+
+
+
+
+
+
+
+ Gets the declaring type, if any
+
+
+
+
+
+
+
+ Resolves the type
+
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ The module that needs to resolve the type or null
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Resolves the type
+
+ The module that needs to resolve the type or null
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Gets the top-most (non-nested)
+
+ Input
+ The non-nested or null
+
+
+
+
+
+
+ A TypeRef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+ Type name
+
+
+
+ Constructor
+
+ Owner module
+ Type namespace
+ Type name
+
+
+
+ Constructor
+
+ Owner module
+ Type namespace
+ Type name
+ Resolution scope (a ,
+ , or )
+
+
+
+ Created from a row in the TypeRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this TypeRef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Type sig base class
+
+
+
+
+ Returns the wrapped element type. Can only be null if it was an invalid sig or
+ if it's a
+
+
+
+
+ Gets the element type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a or a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if this contains a or a
+ .
+
+
+
+
+
+
+
+ Base class for element types that are last in a type sig, ie.,
+ , , ,
+ ,
+
+
+
+
+
+
+
+ Wraps a
+
+
+
+
+ Gets the the TypeDefOrRef
+
+
+
+
+ Returns true if != null
+
+
+
+
+ Returns true if != null
+
+
+
+
+ Returns true if != null
+
+
+
+
+ Gets the or null if it's not a
+
+
+
+
+ Gets the or null if it's not a
+
+
+
+
+ Gets the or null if it's not a
+
+
+
+
+ Constructor
+
+ A , or
+ a
+
+
+
+ A core library type
+
+
+
+
+ Gets the element type
+
+
+
+
+ Constructor
+
+ The type which must be a or a
+ . and null are not allowed.
+ The type's element type
+
+
+
+ Base class for class/valuetype element types
+
+
+
+
+ Constructor
+
+ A
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ A
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ A
+
+
+
+ Generic method/type var base class
+
+
+
+
+ true if it has an owner or
+
+
+
+
+ true if it has an owner ( is
+ not null)
+
+
+
+
+ true if it has an owner ( is
+ not null)
+
+
+
+
+ Gets the owner type or null if the owner is a or if it
+ has no owner.
+
+
+
+
+ Gets the owner method or null if the owner is a or if it
+ has no owner.
+
+
+
+
+ Gets the generic param number
+
+
+
+
+ Gets the corresponding or null if none exists.
+
+
+
+
+ Constructor
+
+ true if it's a Var, false if it's a MVar
+ Generic param number
+
+
+
+ Constructor
+
+ true if it's a Var, false if it's a MVar
+ Generic param number
+ Owner method/type or null
+
+
+
+ Returns true if it's a MVar element type
+
+
+
+
+ Returns true if it's a Var element type
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner type or null
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner type or null
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner method or null
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner method or null
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets the signature
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+ The method signature
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets the generic type
+
+
+
+
+ Gets the generic arguments (it's never null)
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The generic type
+
+
+
+ Constructor
+
+ The generic type
+ Number of generic arguments
+
+
+
+ Constructor
+
+ The generic type
+ Number of generic arguments
+
+
+
+ Constructor
+
+ The generic type
+ Generic argument #1
+
+
+
+ Constructor
+
+ The generic type
+ Generic argument #1
+ Generic argument #2
+
+
+
+ Constructor
+
+ The generic type
+ Generic argument #1
+ Generic argument #2
+ Generic argument #3
+
+
+
+ Constructor
+
+ The generic type
+ Generic arguments
+
+
+
+ Constructor
+
+ The generic type
+ Generic arguments
+
+
+
+ Base class of non-leaf element types
+
+
+
+
+
+
+
+ Constructor
+
+ Next sig
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+ Array base class
+
+
+
+
+ Constructor
+
+ Array type
+
+
+
+ true if it's a multi-dimensional array (i.e., ),
+ and false if it's a single-dimensional array (i.e., )
+
+
+
+
+
+ true if it's a single-dimensional array (i.e., ),
+ and false if it's a multi-dimensional array (i.e., )
+
+
+
+
+
+ Gets/sets the rank (number of dimensions). This can only be set if
+ is true
+
+
+
+
+ Gets all sizes. If it's a , then it will be an empty temporary
+ list that is re-created every time this method is called.
+
+ A list of sizes
+
+
+
+ Gets all lower bounds. If it's a , then it will be an empty
+ temporary list that is re-created every time this method is called.
+
+ A list of lower bounds
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+ Gets/sets the rank (max value is 0x1FFFFFFF)
+
+
+
+
+ Gets all sizes (max elements is 0x1FFFFFFF)
+
+
+
+
+ Gets all lower bounds (max elements is 0x1FFFFFFF)
+
+
+
+
+ Constructor
+
+ Array type
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+ Sizes list. This instance will be the owner of this list.
+ Lower bounds list. This instance will be the owner of this list.
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+ Sizes list. This instance will be the owner of this list.
+ Lower bounds list. This instance will be the owner of this list.
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+ Sizes list. This instance will be the owner of this list.
+ Lower bounds list. This instance will be the owner of this list.
+
+
+
+
+
+
+
+
+
+ Represents a (single dimension, zero lower bound array)
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+
+
+
+
+
+
+ Base class for modifier type sigs
+
+
+
+
+ Returns the modifier type
+
+
+
+
+ Constructor
+
+ Modifier type
+ The next element type
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets/sets the size
+
+
+
+
+ Constructor
+
+ The next element type
+ Size of the array
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets/sets the index
+
+
+
+
+ Constructor
+
+ Index
+ The next element type
+
+
+
+ A high-level representation of a row in the TypeSpec table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column TypeSpec.Signature
+
+
+
+
+ Gets/sets the extra data that was found after the signature
+
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ A TypeSpec row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ A type sig
+
+
+
+ Created from a row in the TypeSpec table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this TypeSpec row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Compares s
+
+
+
+
+ The default instance
+
+
+
+
+
+
+
+
+
+
+ A UTF-8 encoded string where the original data is kept in memory to avoid conversions
+ when the data is not really valid UTF-8 encoded data
+
+ When comparing strings, a byte compare is performed. The reason is that this
+ is what the CLR does when comparing strings in the #Strings stream.
+
+
+
+ An empty
+
+
+
+
+ Gets the value as a UTF8 decoded string. Only use it for display purposes,
+ not for serialization.
+
+
+
+
+ Gets the original encoded data. Don't modify this data.
+
+
+
+
+ Gets the length of the this as a . I.e., it's the same as
+ String.Length.
+
+
+
+
+
+ Gets the length of the raw data. It's the same as Data.Length
+
+
+
+
+
+ Checks whether is null or if its data is null.
+
+ The instance to check
+ true if null or empty, false otherwise
+
+
+
+ Checks whether is null or if its data is null or the
+ data is zero length.
+
+ The instance to check
+ true if null or empty, false otherwise
+
+
+ Implicit conversion from to
+
+
+ Implicit conversion from to
+
+
+
+ Converts it to a
+
+ The UTF-8 string instace or null
+ A or null if is null
+
+
+
+ Converts it to a or an empty string if is null
+
+ The UTF-8 string instace or null
+ A (never null)
+
+
+
+ Gets the hash code of a
+
+ Input
+
+
+
+
+
+
+ Compares two instances (case sensitive)
+
+ Instance #1 or null
+ Instance #2 or null
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two instances (case insensitive)
+
+ Instance #1 or null
+ Instance #2 or null
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two instances (case insensitive)
+
+ Instance #1 or null
+ Instance #2 or null
+ true if equals, false otherwise
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+
+ Constructor
+
+ UTF-8 data that this instance now owns
+
+
+
+ Constructor
+
+ The string
+
+
+
+ Compares two instances
+
+ First
+ Second
+ true if equals, false otherwise
+
+
+
+
+
+
+
+
+
+ Checks whether exists in this string
+
+ Value to find
+ true if exists in string or is the
+ empty string, else false
+
+
+
+ Checks whether matches the end of this string
+
+ Value
+
+
+
+
+ Checks whether matches the end of this string
+
+ Value
+ true to ignore case
+ Culture info
+
+
+
+
+ Checks whether matches the end of this string
+
+ Value
+ Comparison type
+
+
+
+
+ Checks whether matches the beginning of this string
+
+ Value
+
+
+
+
+ Checks whether matches the beginning of this string
+
+ Value
+ true to ignore case
+ Culture info
+
+
+
+
+ Checks whether matches the beginning of this string
+
+ Value
+ Comparison type
+
+
+
+
+ Compares this instance with
+
+ Other string
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Returns the index of the first character in this string
+
+ Character
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first character in this string
+ starting from index
+
+ Character
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first character in this string
+ starting from index for max
+ characters.
+
+ Character
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+
+ String
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index
+
+ String
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index
+
+ String
+ Start index
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+
+ String
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last character in this string
+
+ Character
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last character in this string
+ starting from index
+
+ Character
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last character in this string
+ starting from index for max
+ characters.
+
+ Character
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+
+ String
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index
+
+ String
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index
+
+ String
+ Start index
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+
+ String
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Inserts string at a index
+
+ Start index
+ Value to insert
+ A new instance with the inserted at position
+
+
+
+
+ Removes all characters starting from position
+
+ Start index
+ A new instance
+
+
+
+ Removes characters starting from position
+
+
+ Start index
+ Number of characters to remove
+ A new instance
+
+
+
+ Replaces all characters with
+
+ Character to find
+ Character to replace all
+ A new instance
+
+
+
+ Replaces all sub strings with
+
+ Sub string to find
+ Sub string to replace all
+ A new instance
+
+
+
+ Returns a sub string of this string starting at offset
+
+ Start index
+ A new instance
+
+
+
+ Returns a sub string of this string starting at offset .
+ Length of sub string is .
+
+ Start index
+ Length of sub string
+ A new instance
+
+
+
+ Returns the lower case version of this string
+
+ A new instance
+
+
+
+ Returns the lower case version of this string
+
+ Culture info
+ A new instance
+
+
+
+ Returns the lower case version of this string using the invariant culture
+
+ A new instance
+
+
+
+ Returns the upper case version of this string
+
+ A new instance
+
+
+
+ Returns the upper case version of this string
+
+ Culture info
+ A new instance
+
+
+
+ Returns the upper case version of this string using the invariant culture
+
+ A new instance
+
+
+
+ Removes all leading and trailing whitespace characters
+
+ A new instance
+
+
+
+
+
+
+
+
+
+ Compares byte arrays
+
+
+
+
+ Default instance
+
+
+
+
+
+
+
+
+
+
+ Returns an assembly name string
+
+ Simple assembly name
+ Version or null
+ Culture or null
+ Public key / public key token or null
+ Assembly attributes
+ An assembly name string
+
+
+
+ Convert a byte[] to a
+
+ All bytes
+ true if output should be in upper case hex
+ as a hex string
+
+
+
+ Converts a hex string to a byte[]
+
+ A string with an even number of hex characters
+ converted to a byte[] or null
+ if is invalid
+
+
+
+ Converts a character to a hex digit
+
+ Hex character
+ 0x00-0x0F if successful, -1 if is not
+ a valid hex digit
+
+
+
+ Compares two byte arrays
+
+ Byte array #1
+ Byte array #2
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two byte arrays are equal
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a byte array
+
+ Byte array
+ The hash code
+
+
+
+ Compares two versions
+
+ This differs from if the build
+ and/or revision numbers haven't been initialized or if one of the args is null.
+
+ Version #1 or null to be treated as v0.0.0.0
+ Version #2 or null to be treated as v0.0.0.0
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two versions are the same
+
+ This differs from if the build
+ and/or revision numbers haven't been initialized or if one of the args is null.
+
+ Version #1 or null to be treated as v0.0.0.0
+ Version #2 or null to be treated as v0.0.0.0
+ true if same, false otherwise
+
+
+
+ Creates a new instance with no undefined version values (eg.
+ the build and revision values won't be -1).
+
+ A instance
+ A new instance
+
+
+
+ Parses a version string
+
+ Version string
+ A new or null if
+ is an invalid version
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a locale
+
+ Value
+ The hash code
+
+
+
+ Align up
+
+ Value
+ Alignment
+
+
+
+ Align up
+
+ Value
+ Alignment
+
+
+
+ Variant type (VT_XXX in the Windows SDK)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This wasn't present in the blob
+
+
+
+ All native vtables
+
+
+
+
+ Gets/sets the RVA of the vtable fixups
+
+
+
+
+ Gets all s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Module
+
+
+
+
+
+
+
+
+
+ See COR_VTABLE_XXX in CorHdr.h
+
+
+
+
+ 32-bit vtable slots
+
+
+
+
+ 64-bit vtable slots
+
+
+
+
+ Transition from unmanaged code
+
+
+
+
+ Also retain app domain
+
+
+
+
+ Call most derived method
+
+
+
+
+ One VTable accessed by native code
+
+
+
+
+ Gets/sets the of this vtable
+
+
+
+
+ Gets/sets the flags
+
+
+
+
+ true if each vtable slot is 32 bits in size
+
+
+
+
+ true if each vtable slot is 64 bits in size
+
+
+
+
+ Gets the vtable methods
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Flags
+
+
+
+ Constructor
+
+ RVA of this vtable
+ Flgas
+ Number of methods in vtable
+
+
+
+ Constructor
+
+ RVA of this vtable
+ Flgas
+ Vtable methods
+
+
+
+
+
+
+
+
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+ true if the returned type is a value type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+ true if the returned type is a value type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD member reference to a CLR member reference. Returns
+ null if it's not a CLR compatible WinMD member reference.
+
+ Owner module or null
+ Member reference
+
+
+
+
+ Converts WinMD method to a CLR member reference. Returns
+ null if it's not a CLR compatible WinMD method
+
+ Owner module or null
+ Method
+
+
+
+
+ WinMD status
+
+
+
+
+ This is not a WinMD file
+
+
+
+
+ This is a pure WinMD file (not managed)
+
+
+
+
+ This is a managed WinMD file (created by eg. winmdexp.exe)
+
+
+
+
+ Writes data
+
+
+
+
+ Gets the current position
+
+
+
+
+ Constructor
+
+ Destination array
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes bytes
+
+ Bytes
+
+
+
+ Writes bytes
+
+ Bytes
+ Source index
+ Number of bytes to write
+
+
+
+ #Blob heap
+
+
+
+
+
+
+
+ Populates blobs from an existing (eg. to preserve
+ blob offsets)
+
+ The #Blob stream with the original content
+
+
+
+ Adds data to the #Blob heap
+
+ The data
+ The offset of the data in the #Blob heap
+
+
+
+ Adds data to the #Blob heap, but does not re-use an existing position
+
+ The data
+ The offset of the data in the #Blob heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stores a byte array
+
+
+
+
+
+
+
+
+
+
+ Gets the data
+
+
+
+
+ Constructor
+
+ The data. It will be owned by this instance and can't be modified by
+ other code if this instance is inserted as a key in a dictionary (because
+ return value will be different if you modify the array). If
+ it's never inserted as a key in a dictionary, then the contents can be modified,
+ but shouldn't be resized after has been called.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Checksum algorithm
+
+
+
+
+ SHA-1
+
+
+
+
+ SHA-256
+
+
+
+
+ SHA-384
+
+
+
+
+ SHA-512
+
+
+
+
+ Contains a list of s
+
+
+
+
+ Default constructor
+
+
+
+
+ Add a
+
+ The chunk to add or null if none
+ Chunk alignment
+
+
+
+ Remove a
+
+ The chunk to remove or null if none
+ Alignment of the chunk, or null if the chunk cannot be removed.
+
+
+
+ Base class of chunk list types
+
+ Chunk type
+
+
+ All chunks
+
+
+ true if has been called
+
+
+
+ Helper struct
+
+
+
+ Data
+
+
+ Alignment
+
+
+
+ Constructor
+
+ Chunk
+ Alignment
+
+
+
+ Equality comparer for
+
+
+
+
+ Constructor
+
+ Compares the chunk type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Helps write custom attributes
+
+
+
+
+ Writes s
+
+
+
+
+ Writes a custom attribute
+
+ Helper class
+ The custom attribute
+ Custom attribute blob
+
+
+
+ Writes custom attribute named arguments
+
+ Helper class
+ Named arguments
+ The named args blob
+
+
+
+ Write a value
+
+ The ctor arg type, field type, or property type
+ The value to write
+
+
+
+ Gets the enum's underlying type
+
+ An enum type
+ The underlying type or null if we couldn't resolve the type ref
+
+
+
+ Converts to a , possibly resolving
+ a
+
+ The type
+ A or null if we couldn't resolve the
+ or if is a type spec
+
+
+
+
+
+
+ A chunk
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The data
+
+
+
+ Constructor
+
+ The data
+ Virtual size of
+
+
+
+ Constructor
+
+ The data
+
+
+
+ Constructor
+
+ The data
+ Virtual size of
+
+
+
+ Gets the data reader
+
+
+
+
+ Replaces the old data with new data. The new data must be the same size as the old data if
+ has been called. That method gets called after
+ event
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copies existing data to a new metadata heap
+
+
+
+
+ Gets the name of the heap
+
+
+
+
+ Constructor
+
+ The stream whose data will be copied to the new metadata file
+
+
+
+ Constructor
+
+ Heap name
+ Heap content
+
+
+
+
+
+
+
+
+
+ Writes data
+
+
+
+
+ Gets/sets the position
+
+
+
+
+ Constructor
+
+ Destination stream
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes bytes
+
+ Bytes to write
+
+
+
+ Writes bytes
+
+ Bytes to write
+ Index to start copying from
+ Number of bytes to copy
+
+
+
+ Writes a compressed
+
+ Value
+
+
+
+ Writes a compressed
+
+
+
+
+
+ Gets the size of a compressed , see
+
+ Value
+
+
+
+
+ Debug directory entry
+
+
+
+
+ Gets the header
+
+
+
+
+ Gets the data
+
+
+
+
+ Constructor
+
+ Data
+
+
+
+ Debug directory chunk
+
+
+
+ Default debug directory alignment
+
+
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+ Adds data
+
+ Data
+
+
+
+
+ Adds data
+
+ Data
+
+
+
+
+ Adds data
+
+ Data
+ Debug type
+ Major version
+ Minor version
+ Timestamp
+
+
+
+
+ Adds data
+
+ Data
+ Debug type
+ Major version
+ Minor version
+ Timestamp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Writes DeclSecurity blobs
+
+
+
+
+ Creates a DeclSecurity blob from
+
+ Owner module
+ List of s
+ Helps this class
+ A DeclSecurity blob
+
+
+
+ Creates a DeclSecurity blob from
+
+ Owner module
+ List of s
+ Helps this class
+ Optimize serialized type strings in custom attributes.
+ For more info, see
+ A DeclSecurity blob
+
+
+
+ Extension methods
+
+
+
+
+ Write zeros
+
+ this
+ Number of zeros
+
+
+
+ Writes all data to and verifies that all bytes were written
+
+ this
+ Destination
+ Not all bytes were written
+
+
+
+ Writes a data directory
+
+ Writer
+ The data
+
+
+
+ #GUID heap
+
+
+
+
+
+
+
+ Adds a guid to the #GUID heap
+
+ The guid
+ The index of the guid in the #GUID heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base class of most heaps
+
+
+
+
+ true if has been called
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true if offsets require 4 bytes instead of 2 bytes.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the raw length of the heap
+
+ Raw length of the heap
+
+
+
+
+
+
+ Writes all data to at its current location.
+
+ Destination
+
+
+
+
+
+
+ Data that gets written to the file
+
+
+
+
+ Gets the file offset. This is valid only after has been called.
+
+
+
+
+ Gets the RVA. This is valid only after has been called.
+
+
+
+
+ Called when the file offset and RVA are known
+
+ File offset of this chunk
+ RVA of this chunk
+
+
+
+ Gets the raw file length of this chunk. Must only be called after
+ has been called.
+
+ Length of this chunk
+
+
+
+ Gets the virtual size of this chunk. Must only be called after
+ has been called.
+
+ Virtual size of this chunk
+
+
+
+ Writes all data to at its current location. It's only
+ called after and have been called.
+ You cannot assume that 's file position is the same as this
+ chunk's file position.
+
+ Destination
+
+
+
+ Implemented by s that can reuse the old data location in the original PE file
+
+
+
+
+ Returns true if this chunk fits in the old location
+
+ Original RVA of data
+ Size of the original location
+
+
+
+
+ .NET Heap interface
+
+
+
+
+ Gets the name of the heap
+
+
+
+
+ Checks whether the heap is empty
+
+
+
+
+ Called when the heap should be set to read-only mode
+
+
+
+
+ Options to
+
+
+
+
+ Default major runtime version
+
+
+
+
+ Default minor runtime version
+
+
+
+
+ Major runtime version
+
+
+
+
+ Minor runtime version
+
+
+
+
+ Flags
+
+
+
+
+ Entry point or null. Either a Method/File token or an RVA.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Flags
+
+
+
+ Constructor
+
+ Major runtime version (default is )
+ Minor runtime version (default is )
+ Flags
+
+
+
+ .NET header
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the .NET resources
+
+
+
+
+ Gets/sets the strong name signature
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Import address table chunk
+
+
+
+
+ Gets/sets the
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ true if it's a 64-bit PE file, false if it's a 32-bit PE file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Import directory chunk
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets the RVA of _CorDllMain/_CorExeMain in the import lookup table
+
+
+
+
+ Gets RVA of _CorExeMain/_CorDllMain in the IAT
+
+
+
+
+ Gets/sets a value indicating whether this is a EXE or a DLL file
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the name of the dll which should be imported.
+
+
+
+
+ Gets/sets the name of the entry point of the imported dll.
+
+
+
+
+ Constructor
+
+ true if it's a 64-bit PE file, false if it's a 32-bit PE file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Interface to get and set raw heap data. Implemented by the offset heaps: #Strings,
+ #GUID, #Blob, and #US.
+
+ Type of cooked data
+
+
+
+ Gets the size of the data as raw data when written to the heap
+
+ The data
+ Size of the data as raw data when written to the heap
+
+
+
+ Overrides what value should be written to the heap.
+
+ Offset of value. Must match an offset returned by
+
+ The new raw data. The size must match the raw size exactly.
+
+
+
+ Gets all inserted raw data and their offsets. The returned array
+ is owned by the caller.
+
+ An enumerable of all raw data and their offsets
+
+
+
+ Gets notified of errors. The default handler should normally throw since the written data
+ will probably be invalid. Any error can be ignored.
+
+
+
+
+ Called when an error is detected (eg. a null pointer or other invalid value). The error
+ can be ignored but the written data won't be valid.
+
+ Error message
+
+
+
+ Writes the .sdata blob. We could write the data in any order, but we write the data in the same order as ILASM
+
+ PE timestamp
+
+
+
+ Writes field marshal blobs
+
+
+
+
+ Creates a field marshal blob from
+
+ Owner module
+ Marshal type
+ Helps this class
+ A field marshal blob or null if is
+ null
+
+
+
+ Creates a field marshal blob from
+
+ Owner module
+ Marshal type
+ Helps this class
+ Optimize serialized type strings in custom attributes.
+ For more info, see
+ A field marshal blob or null if is
+ null
+
+
+
+
+
+
+ Calculates max stack usage by using a simple pass over all instructions. This value
+ can be placed in the fat method header's MaxStack field.
+
+
+
+
+ Gets max stack value
+
+ All instructions
+ All exception handlers
+ Max stack value
+
+
+
+ Gets max stack value
+
+ All instructions
+ All exception handlers
+ Updated with max stack value
+ true if no errors were detected, false otherwise
+
+
+
+ MD table interface
+
+
+
+
+ Gets the table type
+
+
+
+
+ true if the table is empty
+
+
+
+
+ Gets the number of rows in this table
+
+
+
+
+ Gets/sets a value indicating whether it's sorted
+
+
+
+
+ true if has been called
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Called when the table can't be modified any more
+
+
+
+
+ Creates rows in a table. Rows can optionally be shared to create a compact table.
+
+ The raw row type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the value with rid
+
+ The row ID
+
+
+
+ Constructor
+
+ The table type
+ Equality comparer
+
+
+
+
+
+
+ Adds a row. If the row already exists, returns a rid to the existing one, else
+ it's created and a new rid is returned.
+
+ The row. It's now owned by us and must NOT be modified by the caller.
+ The RID (row ID) of the row
+
+
+
+ Creates a new row even if this row already exists.
+
+ The row. It's now owned by us and must NOT be modified by the caller.
+ The RID (row ID) of the row
+
+
+
+ Re-adds all added rows. Should be called if rows have been modified after being
+ inserted.
+
+
+
+
+ Reset the table.
+
+
+
+
+ Writes s
+
+
+
+
+ Writes a Module table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a TypeRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a TypeDef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Field table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Method table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ParamPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Param table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a InterfaceImpl table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MemberRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Constant table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a CustomAttribute table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldMarshal table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a DeclSecurity table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ClassLayout table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldLayout table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a StandAloneSig table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a EventMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a EventPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Event table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a PropertyMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a PropertyPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Property table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodSemantics table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodImpl table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ModuleRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a TypeSpec table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ImplMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldRVA table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ENCLog table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ENCMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Assembly table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyProcessor table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyOS table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyRefProcessor table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyRefOS table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a File table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ExportedType table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ManifestResource table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a NestedClass table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a GenericParam table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodSpec table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a GenericParamConstraint table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Document table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodDebugInformation table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a LocalScope table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a LocalVariable table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a LocalConstant table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ImportScope table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a StateMachineMethod table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a CustomDebugInformation table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ flags
+
+
+
+
+ Preserves all rids in the TypeRef table
+
+
+
+
+ Preserves all rids in the TypeDef table
+
+
+
+
+ Preserves all rids in the Field table
+
+
+
+
+ Preserves all rids in the Method table
+
+
+
+
+ Preserves all rids in the Param table
+
+
+
+
+ Preserves all rids in the MemberRef table
+
+
+
+
+ Preserves all rids in the StandAloneSig table
+
+
+
+
+ Preserves all rids in the Event table
+
+
+
+
+ Preserves all rids in the Property table
+
+
+
+
+ Preserves all rids in the TypeSpec table
+
+
+
+
+ Preserves all rids in the MethodSpec table
+
+
+
+
+ Preserves all method rids, i.e., Method, MemberRef and
+ MethodSpec rids.
+
+
+
+
+ Preserves all rids in the following tables: TypeRef, TypeDef,
+ Field, Method, Param, MemberRef, StandAloneSig,
+ Event, Property, TypeSpec, MethodSpec
+
+
+
+
+ Preserves all offsets in the #Strings heap (the original #Strings heap will be saved
+ in the new file). Type names, field names, and other non-user strings are stored
+ in the #Strings heap.
+
+
+
+
+ Preserves all offsets in the #US heap (the original #US heap will be saved
+ in the new file). User strings (referenced by the ldstr instruction) are stored in
+ the #US heap.
+
+
+
+
+ Preserves all offsets in the #Blob heap (the original #Blob heap will be saved
+ in the new file). Custom attributes, signatures and other blobs are stored in the
+ #Blob heap.
+
+
+
+
+ Preserves the extra data that is present after the original signature in the #Blob
+ heap. This extra data shouldn't be present but might be present if an obfuscator
+ has added this extra data and is eg. using it to decrypt stuff.
+
+
+
+
+ Preserves as much as possible
+
+
+
+
+ The original method body's max stack field should be used and a new one should not
+ be calculated.
+
+
+
+
+ Always create the #GUID heap even if it's empty
+
+
+
+
+ Always create the #Strings heap even if it's empty
+
+
+
+
+ Always create the #US heap even if it's empty
+
+
+
+
+ Always create the #Blob heap even if it's empty
+
+
+
+
+ Sort the InterfaceImpl table the same way Roslyn sorts it. Roslyn doesn't sort it
+ according to the ECMA spec, see https://github.com/dotnet/roslyn/issues/3905
+
+
+
+
+ Don't write method bodies
+
+
+
+
+ Don't write .NET resources
+
+
+
+
+ Don't write field data
+
+
+
+
+ Serialized type names stored in custom attributes are optimized if the types
+ exist in the core library (eg. mscorlib/System.Private.CoreLib).
+ Instead of storing type-name + assembly-name, only type-name is stored. This results in
+ slightly smaller assemblies.
+
+
+ If it's a type in the current module, the type name is optimized and no assembly name is stored in the custom attribute.
+
+
+ This is disabled by default. It's safe to enable if the reference core assembly
+ is the same as the runtime core assembly (eg. it's mscorlib.dll and .NET Framework,
+ but not .NET Core / .NET Standard).
+
+
+
+
+ Metadata heaps event args
+
+
+
+
+ Gets the metadata writer
+
+
+
+
+ Gets all heaps
+
+
+
+
+ Constructor
+
+ Metadata writer
+ All heaps
+
+
+
+ options
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the debug (portable PDB) options. This is never null.
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the debug (portable PDB) options. This is never null.
+
+
+
+
+ Various options
+
+
+
+
+ Extra heaps to add to the metadata. Also see and
+
+
+
+
+ Raised after all heaps have been added. The caller can sort the list if needed
+
+
+
+
+ Preserves the original order of heaps, and optionally adds all custom heaps to .
+
+ Original module with the heaps
+ If true, all custom streams are added to
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Flags
+
+
+
+ Constructor
+
+ Meta data header options
+
+
+
+ Constructor
+
+ Meta data header options
+ Flags
+
+
+
+ Portable PDB metadata kind
+
+
+
+
+ No debugging metadata
+
+
+
+
+ Standalone / embedded portable PDB metadata
+
+
+
+
+ Metadata writer event args
+
+
+
+
+ Gets the metadata writer
+
+
+
+
+ Gets the event
+
+
+
+
+ Constructor
+
+ Writer
+ Event
+
+
+
+ Metadata writer progress event args
+
+
+
+
+ Gets the metadata writer
+
+
+
+
+ Gets the progress, 0.0 - 1.0
+
+
+
+
+ Constructor
+
+ Writer
+ Progress, 0.0 - 1.0
+
+
+
+ .NET meta data
+
+
+
+
+ Raised at various times when writing the metadata
+
+
+
+
+ Raised when the progress is updated
+
+
+
+
+ Gets/sets the logger
+
+
+
+
+ Gets the module
+
+
+
+
+ Gets the constants
+
+
+
+
+ Gets the method body chunks
+
+
+
+
+ Gets the .NET resources
+
+
+
+
+ Gets the MD header
+
+
+
+
+ Gets the tables heap. Access to this heap is not recommended, but is useful if you
+ want to add random table entries.
+
+
+
+
+ Gets the #Strings heap. Access to this heap is not recommended, but is useful if you
+ want to add random strings.
+
+
+
+
+ Gets the #US heap. Access to this heap is not recommended, but is useful if
+ you want to add random user strings.
+
+
+
+
+ Gets the #GUID heap. Access to this heap is not recommended, but is useful if you
+ want to add random GUIDs.
+
+
+
+
+ Gets the #Blob heap. Access to this heap is not recommended, but is useful if you
+ want to add random blobs.
+
+
+
+
+ Gets the #Pdb heap. It's only used if it's portable PDB metadata
+
+
+
+
+ Gets all exported methods
+
+
+
+
+ The public key that should be used instead of the one in .
+
+
+
+
+ Creates a instance
+
+ Module
+ Constants list
+ Method bodies list
+ .NET resources list
+ Options
+ Debug metadata kind
+ A new instance
+
+
+
+
+
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ If true, use the original Field RVAs. If it has no RVA, assume it's a new
+ field value and create a new Field RVA.
+
+
+
+
+ Gets the number of methods that will be written.
+
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the
+
+ Method
+ The or null if is
+ null or not a method defined in this module.
+
+
+
+ Gets a method's local variable signature token
+
+ Method
+ Locals sig token or 0
+
+
+
+ Gets the where the resource data will be stored
+
+ Embedded resource
+ A instance or null if
+ is invalid
+
+
+
+ Gets the where the initial value is stored
+
+ Field
+ A instance or null if
+ is invalid
+
+
+
+ Called when an error is detected
+
+ Error message
+ Optional message arguments
+
+
+
+ Called to warn of something
+
+ Warning message
+ Optional message arguments
+
+
+
+ Raises
+
+ Event
+
+
+
+ Raises the progress event
+
+ Base event
+ Sub progress
+
+
+
+ Creates the .NET metadata tables
+
+
+
+
+ Updates each Method row's RVA column if it has any code
+
+
+
+
+ Updates the FieldRVA rows
+
+
+
+
+ Initializes all TypeDef, Field, Method, Event,
+ Property and Param rows. Other tables that are related to these six
+ tables are also updated. No custom attributes are written yet, though. Method bodies
+ aren't written either.
+
+
+
+
+ Writes TypeDef, Field, Method, Event,
+ Property and Param custom attributes and custom debug infos.
+
+
+
+
+ Adds the tokens of all methods in all vtables, if any
+
+
+
+
+ Adds the entry point. It's only needed if it's a since if it's
+ a , it will have already been added.
+
+
+
+
+ Sorts all unsorted tables except GenericParamConstraint and CustomAttribute
+
+
+
+
+ Initializes the GenericParamConstraint table
+
+
+
+
+ Inserts all custom attribute / custom debug info rows in the tables and sort them
+
+
+
+
+ Writes all method bodies
+
+
+
+
+ Checks whether a list is empty or whether it contains only nulls
+
+ Any type
+ The list
+ true if the list is empty or if it contains only nulls, false otherwise
+
+
+
+
+
+
+
+
+
+ Adds a
+
+ Method signature
+ Original StandAloneSig token or 0 if none
+ Its new rid
+
+
+
+ Adds a
+
+ FIeld signature
+ Original StandAloneSig token or 0 if none
+ Its new rid
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a NestedType row
+
+ Nested type
+ Declaring type
+
+
+
+ Adds a Module row
+
+ Module
+ Its new rid
+
+
+
+ Adds a ModuleRef row
+
+ Module ref
+ Its new rid
+
+
+
+ Adds an AssemblyRef row
+
+ Assembly ref
+ Its new rid
+
+
+
+ Adds an Assembly row
+
+ Assembly
+ The public key that should be used
+ Its new rid
+
+
+
+ Adds generic parameters
+
+ New token of owner
+ All generic params
+
+
+
+ Adds a generic param
+
+ New token of owner
+ Generic paramater
+
+
+
+ Adds generic parameter constraints
+
+ New rid of owner generic param
+ Its constraints
+
+
+
+ Adds a generic parameter constraint
+
+ New rid of owner generic param
+ Generic parameter constraint
+
+
+
+ Adds a InterfaceImpl row
+
+ New rid of owner
+ All interfaces
+
+
+
+ Adds a FieldLayout row
+
+ Owner field
+
+
+
+ Adds a FieldMarshal row
+
+ New owner token
+ Owner
+
+
+
+ Adds a FieldRVA row
+
+ The field
+
+
+
+ Adds a ImplMap row
+
+ New owner token
+ Owner
+
+
+
+ Adds a Constant row
+
+ New owner token
+ Owner
+
+
+
+ Adds a DeclSecurity row
+
+ New owner token
+ All DeclSecurity rows
+
+
+
+ Adds MethodSemantics rows
+
+ Event
+
+
+
+ Adds MethodSemantics rows
+
+ Property
+
+
+
+ Adds a ClassLayout row
+
+ Type
+
+
+
+ Adds a File row
+
+ File
+ Its new rid
+
+
+
+ Adds a ExportedType row
+
+ Exported type
+ Its new rid
+
+
+
+ Gets a #Blob offset of a type signature
+
+ Type sig
+ Extra data to append the signature if
+ is true.
+ #Blob offset
+
+
+
+ Gets a #Blob offset of a calling convention signature
+
+ Signature
+ #Blob offset
+
+
+
+ Adds a CustomAttribute row
+
+ Owner table
+ New owner rid
+ Onwer
+
+
+
+ Adds a CustomDebugInformation row
+
+ Owner table
+ New owner rid
+ Onwer
+
+
+
+ Writes the portable PDB to .
+
+ Output stream
+ Entry point token
+ Updated with the offset of the 20-byte PDB ID. The caller is responsible for initializing it with the PDB ID
+
+
+
+
+
+
+
+
+
+
+
+
+ Called before any other methods
+
+
+
+
+ Gets all s that should be saved in the meta data
+
+
+
+
+ Initializes TypeDef rids and creates raw rows, but does not initialize
+ any columns.
+
+
+
+
+ Allocates Field, Method, Property, Event, Param:
+ rid and raw row, but doesn't initialize the raw row.
+ Initializes TypeDef columns: FieldList, MethodList.
+ Initializes Method column: ParamList.
+ Initializes and .
+
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Type reference
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Type spec
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Member ref
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Stand alone sig
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Method spec
+ Its new rid
+
+
+
+ Called before sorting the CustomAttribute table. This is the last time anything
+ can be inserted into this table.
+
+
+
+
+ Called after everything has been initialized. The sub class can initialize more
+ rows if necessary or do nothing. After this method has been called, nothing else
+ can be added.
+
+
+
+
+ Should be called before all chunks get an RVA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sorts the s
+
+ All s
+ A sorted list
+
+
+
+ All events
+
+
+
+
+ Creating the tables has just begun
+
+
+
+
+ Before allocating all TypeDef RIDs
+
+
+
+
+ Before allocating all MemberDef RIDs
+
+
+
+
+ The rids of types, fields, methods, events, properties and parameters are
+ now known.
+
+
+
+
+ The tables and rows of all types, fields, methods, events, properties and parameters
+ have been initialized. Method body RVAs are still not known, and no method has been
+ written yet.
+
+
+
+
+ Before sorting most tables
+
+
+
+
+ Most of the tables that should be sorted have been sorted. The CustomAttribute
+ table is still unsorted since it's not been created yet.
+
+
+
+
+ Custom attributes of all types, fields, methods, events, properties and parameters
+ have now been written.
+
+
+
+
+ All resources are about to be added to the .NET resources table
+
+
+
+
+ All resources have been added to the .NET resources table
+
+
+
+
+ All method bodies are about to be written
+
+
+
+
+ All method bodies have been written. Their RVAs are still not known.
+
+
+
+
+ All tables are now sorted, including the CustomAttribute table.
+
+
+
+
+ All tables have been created and all rows populated. The only columns that haven't
+ been initialized yet are the ones that are RVAs.
+
+
+
+
+ options
+
+
+
+
+ Default version string
+
+
+
+
+ Default header signature
+
+
+
+
+ MD header signature. Default value is
+
+
+
+
+ Major version. Default is 1. MS' CLR supports v0.x (x >= 19) and v1.1, nothing else.
+
+
+
+
+ Minor version. Default is 1.
+
+
+
+
+ Reserved and should be 0.
+
+
+
+
+ Version string. Default is . It's stored as a
+ zero-terminated UTF-8 string. Length should be <= 255 bytes.
+
+
+
+
+ Storage flags should be 0
+
+
+
+
+ Reserved and should be 0
+
+
+
+
+ Creates portable PDB v1.0 options
+
+
+
+
+
+ Meta data header. IMAGE_COR20_HEADER.Metadata points to this header.
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the heaps
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method body chunk
+
+
+
+
+
+
+
+
+
+
+ Gets the code
+
+
+
+
+ Gets the extra sections (exception handlers) or null
+
+
+
+
+ Gets the token of the locals
+
+
+
+
+ true if it's a fat body
+
+
+
+
+ true if it's a tiny body
+
+
+
+
+ true if there's an extra section
+
+
+
+
+ Constructor
+
+ Code
+
+
+
+ Constructor
+
+ Code
+ Extra sections or null
+
+
+
+ Constructor
+
+ Code
+ Extra sections or null
+ Token of locals
+
+
+
+ Gets the approximate size of the method body (code + exception handlers)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stores all method body chunks
+
+
+
+
+
+
+
+
+
+
+ Gets the number of bytes saved by re-using method bodies
+
+
+
+
+ Constructor
+
+ true if bodies can be shared
+
+
+
+ Adds a and returns the one that has been cached
+
+ The method body
+ The cached method body
+
+
+ Removes the specified method body from this chunk
+ The method body
+ if the method body is removed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns tokens of token types, strings and signatures
+
+
+
+
+ Gets the token of
+
+ A token type or a string or a signature
+ The token
+
+
+
+ Gets a StandAloneSig token
+
+ All locals
+ The original token or 0 if none
+ A StandAloneSig token or 0 if is
+ empty.
+
+
+
+ Writes CIL method bodies
+
+
+
+
+ Gets the code as a byte array. This is valid only after calling .
+ The size of this array is not necessarily a multiple of 4, even if there are exception
+ handlers present. See also
+
+
+
+
+ Gets the extra sections (exception handlers) as a byte array or null if there
+ are no exception handlers. This is valid only after calling
+
+
+
+
+ Gets the token of the locals
+
+
+
+
+ Constructor
+
+ Helps this instance
+ The CIL method body
+
+
+
+ Constructor
+
+ Helps this instance
+ The CIL method body
+ Keep the original max stack value that has been initialized
+ in
+
+
+
+ Writes the method body
+
+
+
+
+ Gets the code and (possible) exception handlers in one array. The exception handlers
+ are 4-byte aligned.
+
+ The code and any exception handlers
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base class of all CIL method body writers
+
+
+
+
+
+
+
+
+
+
+ true if there was at least one error
+
+
+
+
+ Constructor
+
+ All instructions
+ All exception handlers
+
+
+
+ Called when an error is detected (eg. a null pointer). The error can be
+ ignored but the method won't be valid.
+
+ Error message
+
+
+
+ Called when an error is detected (eg. a null pointer). The error can be
+ ignored but the method won't be valid.
+
+ Error message
+
+
+
+ Gets max stack value
+
+
+
+
+ Gets the offset of an instruction
+
+ The instruction
+ The offset or 0 if is null or not
+ present in the list of all instructions.
+
+
+
+ Initializes instruction offsets and returns the total code size
+
+ Size of code
+
+
+
+ Gets the size of an instruction
+
+ The instruction
+ Size of the instruction in bytes
+
+
+
+ Writes all instructions to at its current offset
+
+ The instruction writer
+ Number of bytes written
+
+
+
+ Gets the current offset in the instruction stream. This offset is relative to
+ the first written instruction.
+
+ The instruction writer
+ Current offset, relative to the first written instruction
+
+
+
+ Writes an instruction
+
+ The instruction writer
+ The instruction
+
+
+
+ Writes an instruction's opcode
+
+ The instruction writer
+ The instruction
+
+
+
+ Writes an instruction's operand
+
+ The instruction writer
+ The instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ options
+
+
+
+
+ Constructor
+
+ The module
+
+
+
+ Writes a .NET PE file. See also
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the writer options. This is never null
+
+
+
+
+ Gets all s. The reloc section must be the last section, so use if you need to append a section
+
+
+
+
+ Adds to the sections list, but before the reloc section which must be last
+
+ New section to add to the list
+
+
+
+ Gets the .text section
+
+
+
+
+ Gets the .sdata section
+
+
+
+
+ Gets the .rsrc section or null if none
+
+
+
+
+ Gets the .reloc section
+
+
+
+
+ Gets the PE headers
+
+
+
+
+ Gets the IAT or null if there's none
+
+
+
+
+ Gets the .NET header
+
+
+
+
+ Gets the import directory or null if there's none
+
+
+
+
+ Gets the startup stub or null if there's none
+
+
+
+
+ Gets the reloc directory or null if there's none
+
+
+
+
+ Constructor
+
+ The module
+
+
+
+ Constructor
+
+ The module
+ Options or null
+
+
+
+
+
+
+
+
+
+ Module writer event args
+
+
+
+
+ Gets the writer ( or )
+
+
+
+
+ Gets the event
+
+
+
+
+ Constructor
+
+ Writer
+ Event
+
+
+
+ Module writer progress event args
+
+
+
+
+ Gets the writer ( or )
+
+
+
+
+ Gets the progress, 0.0 - 1.0
+
+
+
+
+ Constructor
+
+ Writer
+ Progress, 0.0 - 1.0
+
+
+
+ Content ID
+
+
+
+
+ Gets the GUID
+
+
+
+
+ Gets the timestamp
+
+
+
+
+ Constructor
+
+ Guid
+ Timestamp
+
+
+
+ Event handler
+
+ Event args type
+ Sender
+ Event args
+
+
+
+ PDB writer options
+
+
+
+
+ No bit is set
+
+
+
+
+ Don't use Microsoft.DiaSymReader.Native. This is a NuGet package with an updated Windows PDB reader/writer implementation,
+ and if it's available at runtime, dnlib will try to use it. If this option is set, dnlib won't use it.
+ You have to add a reference to the NuGet package if you want to use it, dnlib has no reference to the NuGet package.
+
+ This is only used if it's a Windows PDB file.
+
+
+
+
+ Don't use diasymreader.dll's PDB writer that is shipped with .NET Framework.
+
+ This is only used if it's a Windows PDB file.
+
+
+
+
+ Create a deterministic PDB file and add a debug directory entry to the PE file.
+
+ It's ignored if the PDB writer doesn't support it.
+
+
+
+
+ Hash the PDB file and add a PDB checksum debug directory entry to the PE file.
+
+ It's ignored if the PDB writer doesn't support it.
+
+
+
+
+ Common module writer options base class
+
+
+
+
+ Raised at various times when writing the file. The listener has a chance to modify
+ the file, eg. add extra metadata, encrypt methods, etc.
+
+
+
+
+ Raised when the progress is updated
+
+
+
+
+ Gets/sets the logger. If this is null, any errors result in a
+ being thrown. To disable this behavior, either
+ create your own logger or use .
+
+
+
+
+ Gets/sets the writer logger. If this is null, use
+ .
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ If true, Win32 resources aren't written to the output
+
+
+
+
+ Gets/sets the Win32 resources. If this is null, use the module's
+ Win32 resources if any.
+
+
+
+
+ true to delay sign the assembly. Initialize to the
+ public key to use, and don't initialize . To generate the
+ public key from your strong name key file, execute sn -p mykey.snk mypublickey.snk
+
+
+
+
+ Gets/sets the strong name key. When you enhance strong name sign an assembly,
+ this instance's HashAlgorithm must be initialized to its public key's HashAlgorithm.
+ You should call
+ to initialize this property if you use normal strong name signing.
+ You should call
+ or
+ to initialize this property if you use enhanced strong name signing.
+
+
+
+
+ Gets/sets the new public key that should be used. If this is null, use
+ the public key generated from . If it is also null,
+ use the module's Assembly's public key.
+ You should call
+ or
+ to initialize this property if you use enhanced strong name signing.
+
+
+
+
+ true if method bodies can be shared (two or more method bodies can share the
+ same RVA), false if method bodies can't be shared. Don't enable it if there
+ must be a 1:1 relationship with method bodies and their RVAs.
+ This is enabled by default and results in smaller files.
+
+
+
+
+ true if the PE header CheckSum field should be updated, false if the
+ CheckSum field isn't updated.
+
+
+
+
+ true if it's a 64-bit module, false if it's a 32-bit or AnyCPU module.
+
+
+
+
+ Gets/sets the module kind
+
+
+
+
+ true if it should be written as an EXE file, false if it should be
+ written as a DLL file.
+
+
+
+
+ Set it to true to enable writing a PDB file. Default is false (a PDB file
+ won't be written to disk).
+
+
+
+
+ PDB writer options. This property is ignored if is false.
+
+
+
+
+ PDB file name. If it's null a PDB file with the same name as the output assembly
+ will be created but with a PDB extension. must be true or
+ this property is ignored.
+
+
+
+
+ PDB file name stored in the debug directory, or null to use
+
+
+
+
+ PDB stream. If this is initialized, then you should also set
+ to the name of the PDB file since the file name must be written to the PE debug directory.
+ must be true or this property is ignored.
+
+
+
+
+ Gets the PDB content id (portable PDBs). The argument is the PDB stream with the PDB ID zeroed out,
+ and the 2nd argument is the default timestamp.
+ This property is ignored if a deterministic PDB file is created or if the PDB checksum is calculated.
+
+
+
+
+ PDB checksum algorithm
+
+
+
+
+ true if an .mvid section should be added to the assembly. Not used by native module writer.
+
+
+
+
+ Constructor
+
+ The module
+
+
+
+ Initializes and
+ for normal strong name signing.
+
+ Module
+ Signature strong name key pair
+
+
+
+ Initializes and
+ for enhanced strong name signing (without key migration). See
+ http://msdn.microsoft.com/en-us/library/hh415055.aspx
+
+ Module
+ Signature strong name key pair
+ Signature public key
+
+
+
+ Initializes and
+ for enhanced strong name signing (with key migration). See
+ http://msdn.microsoft.com/en-us/library/hh415055.aspx
+
+ Module
+ Signature strong name key pair
+ Signature public key
+ Identity strong name key pair
+ Identity public key
+
+
+
+ Module writer base class
+
+
+
+ Default alignment of all constants
+
+
+ Default alignment of all method bodies
+
+
+ Default alignment of all .NET resources
+
+
+ Default alignment of the .NET metadata
+
+
+ Default Win32 resources alignment
+
+
+ Default strong name signature alignment
+
+
+ Default COR20 header alignment
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ Offset where the module is written. Usually 0.
+
+
+ Debug directory
+
+
+
+ Strong name signature
+
+
+
+
+ Returns the module writer options
+
+
+
+
+ Gets the destination stream
+
+
+
+
+ Gets the constants
+
+
+
+
+ Gets the method bodies
+
+
+
+
+ Gets the .NET resources
+
+
+
+
+ Gets the .NET metadata
+
+
+
+
+ Gets the Win32 resources or null if there's none
+
+
+
+
+ Gets the strong name signature or null if there's none
+
+
+
+
+ Gets all s. The reloc section must be the last section, so use if you need to append a section
+
+
+
+
+ Adds to the sections list, but before the reloc section which must be last
+
+ New section to add to the list
+
+
+
+ Gets the .text section
+
+
+
+
+ Gets the .rsrc section or null if there's none
+
+
+
+
+ Gets the debug directory or null if there's none
+
+
+
+
+ true if this is a , false if
+ this is a .
+
+
+
+
+ null if we're not writing a PDB
+
+
+
+
+ Writes the module to a file
+
+ File name. The file will be truncated if it exists.
+
+
+
+ Writes the module to a
+
+ Destination stream
+
+
+
+ Returns the module that is written
+
+
+
+
+ Writes the module to . Event listeners and
+ have been initialized when this method is called.
+
+ Number of bytes written
+
+
+
+ Creates the strong name signature if the module has one of the strong name flags
+ set or wants to sign the assembly.
+
+
+
+
+ Creates the .NET metadata chunks (constants, method bodies, .NET resources,
+ the metadata, and Win32 resources)
+
+
+
+
+
+ Gets the Win32 resources that should be written to the new image or null if none
+
+
+
+
+ Calculates and of all s
+
+ All chunks
+ Starting file offset
+ Starting RVA
+ File alignment
+ Section alignment
+
+
+
+ Writes all chunks to
+
+ The writer
+ All chunks
+ File offset of first chunk
+ File alignment
+
+
+
+ Strong name sign the assembly
+
+ Strong name signature offset
+
+
+
+ Creates the debug directory if a PDB file should be written
+
+
+
+
+ Write the PDB file. The caller should send the PDB events before and after calling this
+ method.
+
+
+
+
+ Gets the timestamp stored in the PE header
+
+
+
+
+
+ Raises a writer event
+
+ Event
+
+
+
+
+
+
+
+
+
+ Logs an error message
+
+ Format
+ Format args
+
+
+
+ Logs a warning message
+
+ Format
+ Format args
+
+
+
+ All / events
+
+
+
+
+ Writing has just begun
+
+
+
+
+ All PE sections have been created
+
+
+
+
+ All chunks have been created
+
+
+
+
+ All chunks have been added to their sections
+
+
+
+
+ Original event: .
+ Creating the metadata tables has just begun
+
+
+
+
+ Original event: .
+ Before allocating all TypeDef RIDs
+
+
+
+
+ Original event: .
+ Before allocating all MemberDef RIDs
+
+
+
+
+ Original event: .
+ The rids of types, fields, methods, events, properties and parameters are
+ now known.
+
+
+
+
+ Original event: .
+ The tables and rows of all types, fields, methods, events, properties and parameters
+ have been initialized. Method body RVAs are still not known, and no method has been
+ written yet.
+
+
+
+
+ Original event: .
+ Before sorting most tables
+
+
+
+
+ Original event: .
+ Most of the tables that should be sorted have been sorted. The CustomAttribute
+ table is still unsorted since it's not been created yet.
+
+
+
+
+ Original event: .
+ Custom attributes of all types, fields, methods, events, properties and parameters
+ have now been written.
+
+
+
+
+ Original event: .
+ All resources are about to be added to the .NET resources table
+
+
+
+
+ Original event: .
+ All resources have been added to the .NET resources table
+
+
+
+
+ Original event: .
+ All method bodies are about to be written
+
+
+
+
+ Original event: .
+ All method bodies have been written. Their RVAs are still not known.
+
+
+
+
+ Original event: .
+ All tables are now sorted, including the CustomAttribute table.
+
+
+
+
+ Original event: .
+ All tables have been created and all rows populated. The only columns that haven't
+ been initialized yet are the ones that are RVAs.
+
+
+
+
+ This event occurs before the PDB file is written. This event occurs even if no PDB file
+ will be written.
+
+
+
+
+ The PDB file has been written. This event occurs even if no PDB file has been written.
+
+
+
+
+ This event occurs just before all RVAs and file offsets of the chunks are calculated.
+
+
+
+
+ File offsets and RVAs of all chunks are now known. This includes method body and
+ field RVAs. Nothing has been written to the destination stream yet.
+
+
+
+
+ This event occurs before all chunks are written to the destination stream, and after
+ all RVAs and file offsets are known.
+
+
+
+
+ All chunks have been written to the destination stream.
+
+
+
+
+ This event occurs before the strong name signature is calculated. This event
+ occurs even if the assembly isn't strong name signed.
+
+
+
+
+ This event occurs after the strong name signature has been calculated. This event
+ occurs even if the assembly isn't strong name signed.
+
+
+
+
+ This event occurs before the checksum in the PE header is updated. This event
+ occurs even if the checksum isn't updated.
+
+
+
+
+ This event occurs after the checksum in the PE header has been updated. This event
+ occurs even if the checksum isn't updated.
+
+
+
+
+ Writing has ended
+
+
+
+
+ Thrown when the module writer encounters an unrecoverable error
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ Other exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ options
+
+
+
+
+ If true, any extra data after the PE data in the original file is also saved
+ at the end of the new file. Enable this option if some protector has written data to
+ the end of the file and uses it at runtime.
+
+
+
+
+ If true, keep the original Win32 resources
+
+
+
+
+ Constructor
+
+ Module
+ true to optimize the image size so it's as small as possible.
+ Since the file can contain native methods and other native data, we re-use the
+ original file when writing the new file. If is true,
+ we'll try to re-use the old method body locations in the original file and
+ also try to fit the new metadata in the old metadata location.
+
+
+
+ A module writer that supports saving mixed-mode modules (modules with native code).
+ The original image will be re-used. See also
+
+
+
+ The original .NET module
+
+
+ All options
+
+
+
+ Any extra data found at the end of the original file. This is null if there's
+ no extra data or if is
+ false.
+
+
+
+ The original PE sections and their data
+
+
+ Original PE image
+
+
+ New sections we've added and their data
+
+
+ New .text section where we put some stuff, eg. .NET metadata
+
+
+ The new COR20 header
+
+
+
+ New .rsrc section where we put the new Win32 resources. This is null if there
+ are no Win32 resources or if
+ is true
+
+
+
+
+ Offset in of the PE checksum field.
+
+
+
+
+ Original PE section
+
+
+
+ PE section
+
+
+ PE section data
+
+
+
+ Constructor
+
+ PE section
+
+
+
+
+
+
+
+
+
+ Gets the module
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the writer options. This is never null
+
+
+
+
+ Gets all s
+
+
+
+
+ Gets the original PE sections and their data
+
+
+
+
+ Gets the .text section
+
+
+
+
+ Gets the .rsrc section or null if there's none
+
+
+
+
+ Constructor
+
+ The module
+ Options or null
+
+
+
+
+
+
+
+
+
+ Gets the raw section data of the image. The sections are saved in
+ .
+
+
+
+
+ Creates the PE header "section"
+
+
+
+
+ Saves any data that is appended to the original PE file
+
+
+
+
+ true if image is 64-bit
+
+
+
+
+ Updates the PE header and COR20 header fields that need updating. All sections are
+ also updated, and the new ones are added.
+
+
+
+
+ Converts to a file offset in the destination stream
+
+ RVA
+
+
+
+ Gets the entry point
+
+ Updated with entry point (either a token or RVA of native method)
+ true if it's a managed entry point or there's no entry point,
+ false if it's a native entry point
+
+
+
+ .NET resources
+
+
+
+
+
+
+
+
+
+
+ Gets offset of next resource. This offset is relative to the start of
+ the .NET resources and is always aligned.
+
+
+
+
+ Constructor
+
+ Alignment of all resources
+
+
+
+ Adds a resource
+
+ The resource data
+ The resource data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Does not preserve metadata tokens
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #Pdb heap
+
+
+
+
+
+
+
+ Gets the PDB ID. This is always 20 bytes in size.
+
+
+
+
+ Gets/sets the entry point token
+
+
+
+
+ Gets the offset of the 20-byte PDB ID
+
+
+
+
+ Gets/sets the referenced type system tables
+
+
+
+
+ Gets the type system table rows. This table has 64 elements.
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+ options
+
+
+
+
+ Default DLL characteristics
+
+
+
+
+ Default subsystem value
+
+
+
+
+ Default major linker version. Roslyn C# defaults to 0x30, and Roslyn VB defaults to 0x50.
+
+
+
+
+ Default minor linker version
+
+
+
+
+ IMAGE_FILE_HEADER.Machine value
+
+
+
+
+ IMAGE_FILE_HEADER.TimeDateStamp value
+
+
+
+
+ IMAGE_FILE_HEADER.PointerToSymbolTable value
+
+
+
+
+ IMAGE_FILE_HEADER.NumberOfSymbols value
+
+
+
+
+ IMAGE_FILE_HEADER.Characteristics value. bit
+ is ignored and set/cleared depending on whether it's a EXE or a DLL file.
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorLinkerVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorLinkerVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.ImageBase value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SectionAlignment value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.FileAlignment value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorOperatingSystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorOperatingSystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorImageVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorImageVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorSubsystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorSubsystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.Win32VersionValue value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.Subsystem value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.DllCharacteristics value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfStackReserve value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfStackCommit value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfHeapReserve value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfHeapCommit value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.LoaderFlags value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.NumberOfRvaAndSizes value
+
+
+
+
+ Creates a new time date stamp using current time
+
+ A new time date stamp
+
+
+
+ DOS and PE headers
+
+
+
+
+ Gets/sets the native entry point
+
+
+
+
+ Gets/sets the COR20 header
+
+
+
+
+ Gets/sets the IAT
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the Win32 resources
+
+
+
+
+ Gets/sets the relocation directory
+
+
+
+
+ Gets/sets the debug directory
+
+
+
+
+ Gets the image base
+
+
+
+
+ Gets/sets a value indicating whether this is a EXE or a DLL file
+
+
+
+
+
+
+
+
+
+
+ Gets the section alignment
+
+
+
+
+ Gets the file alignment
+
+
+
+
+ Gets/sets the s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Calculates the PE checksum and writes it to the checksum field
+
+ Writer
+ Length of PE file
+
+
+
+ A PE section
+
+
+
+
+ Gets the name
+
+
+
+
+ Gets the Characteristics
+
+
+
+
+ true if this is a code section
+
+
+
+
+ true if this is an initialized data section
+
+
+
+
+ true if this is an uninitialized data section
+
+
+
+
+ Constructor
+
+ Section name
+ Section characteristics
+
+
+
+ Writes the section header to at its current position.
+ Returns aligned virtual size (aligned to )
+
+ Writer
+ File alignment
+ Section alignment
+ Current
+
+
+
+ Preserves metadata tokens
+
+
+
+
+ Its real rid
+
+
+
+
+ Its logical rid or real rid. If the ptr table exists (eg. MethodPtr), then it's
+ an index into it, else it's the real rid.
+
+
+
+
+ Gets total number of defs in the list. It does not necessarily return
+ the table size. Use for that.
+
+
+
+
+ Gets the number of rows that need to be created in the table
+
+
+
+
+ Returns true if the ptr table (eg. MethodPtr) is needed
+
+
+
+
+ Sorts the table
+
+ Comparer
+
+
+
+ Adds a def. must be called after adding the last def.
+
+ The def
+ Collection position
+
+
+
+ Must be called after 'ing the last def
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reserves rows in TypeRef, MemberRef, StandAloneSig,
+ TypeSpec and MethodSpec where we will store the original rows
+ to make sure they get the same rid. Any user created rows will be stored at
+ the end of each table.
+
+
+
+
+ Adds any non-referenced rows that haven't been added yet but are present in
+ the original file. If there are any non-referenced rows, it's usually a sign
+ that an obfuscator has encrypted one or more methods or that it has added
+ some rows it uses to decrypt something.
+
+
+
+
+
+
+
+ Re-uses all Field rows which aren't owned by any type due to the fields
+ having been deleted by the user. The reason we must do this is that the
+ FieldPtr and Field tables must be the same size.
+
+
+
+
+ Re-uses all Method rows which aren't owned by any type due to the methods
+ having been deleted by the user. The reason we must do this is that the
+ MethodPtr and Method tables must be the same size.
+
+
+
+
+ Re-uses all Param rows which aren't owned by any type due to the params
+ having been deleted by the user. The reason we must do this is that the
+ ParamPtr and Param tables must be the same size.
+ This method must be called after since
+ this method will create more methods at the end of the Method table.
+
+
+
+
+ Re-uses all Event rows which aren't owned by any type due to the events
+ having been deleted by the user. The reason we must do this is that the
+ EventPtr and Event tables must be the same size.
+
+
+
+
+ Re-uses all Property rows which aren't owned by any type due to the properties
+ having been deleted by the user. The reason we must do this is that the
+ PropertyPtr and Property tables must be the same size.
+
+
+
+
+ Creates a dummy TypeDef at the end of the TypeDef table that will own
+ dummy methods and fields. These dummy methods and fields are only created if the size
+ of the ptr table is less than the size of the non-ptr table (eg. size MethodPtr table
+ is less than size Method table). The only reason the ptr table would be smaller than
+ the non-ptr table is when some field/method has been deleted and we must preserve
+ all method/field rids.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Relocations directory
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Machine
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adds a relocation
+
+ RVA of location
+
+
+
+ Adds a relocation
+
+ Chunk or null. If it's null, is the RVA
+ Offset relative to the start of , or if is null, this is the RVA
+
+
+
+ Length of section
+
+
+
+
+ Section characteristics
+
+
+
+
+ Constructor
+
+ Length of section
+ Section characteristics
+
+
+
+ Calculates the optional header section sizes
+
+
+
+
+ Helps map s to tokens
+
+
+
+
+ Returns a TypeDefOrRef encoded token
+
+ A TypeDefOrRef type
+
+
+
+ Writes signatures
+
+
+
+
+ Write a signature
+
+ Helper
+ The type
+ The signature as a byte array
+
+
+
+ Write a signature
+
+ Helper
+ The signature
+ The signature as a byte array
+
+
+
+
+
+
+ Stores the instruction that jumps to _CorExeMain/_CorDllMain
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the
+
+
+
+
+
+
+
+
+
+
+ Gets the address of the JMP instruction
+
+
+
+
+ Constructor
+
+ Reloc directory
+ Machine
+ Error logger
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #Strings heap
+
+
+
+
+
+
+
+ Populates strings from an existing (eg. to preserve
+ string offsets)
+
+ The #Strings stream with the original content
+
+
+
+ Adds a string to the #Strings heap. The returned value is not necessarily an offset in
+ the #Strings heap. Call to get the offset.
+
+ The string
+ The offset id. This is not a #Strings offset. Call to get the #Strings offset
+
+
+
+ Gets the offset of a string in the #Strings heap. This method can only be called after
+ all strings have been added.
+
+ Offset id returned by
+
+
+
+
+ Adds a string to the #Strings heap, but does not re-use an existing position
+
+ The string
+ The offset of the string in the #Strings heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Strong name signature chunk
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Size of strong name signature
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ options
+
+
+
+
+ Should be 0
+
+
+
+
+ Major version number. Default is 2. Valid versions are v1.0 (no generics),
+ v1.1 (generics are supported), or v2.0 (recommended).
+
+
+
+
+ Minor version number. Default is 0.
+
+
+
+
+ Force #- or #~ stream. Default value is null and recommended because the correct
+ tables stream will be used. true will force #- (Edit N' Continue)
+ stream, and false will force #~ (normal compressed) stream.
+
+
+
+
+ Extra data to write
+
+
+
+
+ true if there are deleted s, s,
+ s, s, s and/or
+ s.
+
+
+
+
+ Creates portable PDB v1.0 options
+
+
+
+
+
+ Contains all .NET tables
+
+
+
+
+
+
+
+
+
+
+ All tables
+
+
+
+
+
+
+
+
+
+
+ true if the Edit 'N Continue name will be used (#-)
+
+
+
+
+ true if any rows have been deleted (eg. a deleted TypeDef, Method, Field, etc.
+ Its name has been renamed to _Deleted).
+
+
+
+
+ true if #Strings heap size > 0xFFFF
+
+
+
+
+ true if #GUID heap size > 0xFFFF
+
+
+
+
+ true if #Blob heap size > 0xFFFF
+
+
+
+
+ Constructor
+
+ Metadata owner
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Calculates the length. This will set all MD tables to read-only.
+
+
+
+
+
+
+
+
+
+
+ Re-uses existing chunks to save space
+
+ Chunk type
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Compares the chunk type
+
+
+
+
+
+
+ Adds a if not already present
+
+ The chunk to add or null if none
+ Chunk alignment
+ The original input if it wasn't present, or the cached one
+
+
+
+ #US heap
+
+
+
+
+
+
+
+ Populates strings from an existing (eg. to preserve
+ string tokens)
+
+ The #US stream with the original content
+
+
+
+ Adds a string to the #US heap
+
+ The string
+ The offset of the string in the #US heap
+
+
+
+ Adds a string to the #US heap
+
+ The string
+ The offset of the string in the #US heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Writes Win32 resources
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Win32 resources
+
+
+
+ Returns the and of a
+ . must have been called.
+
+ A
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The RVA or 0 if is invalid
+
+
+
+ Returns the and of a
+ . must have been called.
+
+ A
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The RVA or 0 if is invalid
+
+
+
+ Returns the and of a
+ . must have been called.
+
+ A
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The RVA or 0 if is invalid
+
+
+
+ Returns the and of a
+ 's name. must have been
+ called.
+
+ The name of a
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a 's name.
+ must have been called.
+
+ The name of a
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a 's name.
+ must have been called.
+
+ The name of a
+ The RVA or 0 if is invalid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A that reads from a byte array
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Creates a instance
+
+ Data
+ The filename or null if the data is not from a file
+
+
+
+
+ Creates a data reader
+
+ Data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ This method doesn't need to be called since a has nothing that must be cleaned up
+
+
+
+
+ Thrown by a when it can't read data or if the caller tries to set an invalid offset
+
+
+
+
+ Reads data
+
+
+
+
+ Gets the start offset of the data
+
+
+
+
+ Gets the end offset of the data, not inclusive
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Gets the current offset. This is between and (inclusive)
+
+
+
+
+ Gets/sets the position relative to
+
+
+
+
+ Gets the number of bytes that can be read without throwing an exception
+
+
+
+
+ Constructor
+
+ Stream
+ Start offset of data
+ Length of data
+
+
+
+ Resets the reader so it points to the start of the data
+
+
+
+
+ Creates a new reader that can access a smaller part of this reader
+
+ Start position relative to
+ Length of data
+
+
+
+
+ Creates a new reader that can access everything from to the end of the data
+
+ Start position relative to
+
+
+
+
+ Creates a new reader that can access a smaller part of this reader
+
+ Start position relative to
+ Length of data
+
+
+
+
+ Creates a new reader that can access everything from to the end of the data
+
+ Start position relative to
+
+
+
+
+ Checks if it's possible to read bytes
+
+ Length of data
+
+
+
+
+ Checks if it's possible to read bytes
+
+ Length of data
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a UTF-16 encoded
+
+ Number of characters to read
+
+
+
+
+ Reads bytes
+
+ Destination pointer
+ Number of bytes to read
+
+
+
+ Reads bytes
+
+ Destination array
+ Destination index
+ Number of bytes to read
+
+
+
+ Reads bytes
+
+ Number of bytes to read
+
+
+
+
+ Reads a compressed
+
+ Uncompressed
+
+
+
+
+ Reads a compressed
+
+
+
+
+
+ Reads a compressed
+
+ Uncompressed
+
+
+
+
+ Reads a compressed
+
+
+
+
+
+ Reads a 7-bit encoded integer
+
+
+
+
+
+ Reads a 7-bit encoded integer
+
+
+
+
+
+ Reads a serialized UTF-8 string
+
+
+
+
+
+ Reads a serialized string
+
+ Encoding
+
+
+
+
+ Returns all data without updating the current position
+
+
+
+
+
+ Returns the remaining data
+
+
+
+
+
+ Reads all bytes until a terminating byte or returns null if wasn't found.
+ If found, the current offset is incremented by the length of the returned data
+
+ Terminating byte value
+
+
+
+
+ Reads a zero-terminated UTF-8 string or returns null if the string couldn't be read.
+ If successful, the current offset is incremented past the terminating zero.
+
+
+
+
+
+ Reads a zero-terminated string or returns null if the string couldn't be read.
+ If successful, the current offset is incremented past the terminating zero.
+
+ Encoding
+
+
+
+
+ Reads a UTF-8 encoded string
+
+ Number of bytes to read (not characters)
+
+
+
+
+ Reads a string
+
+ Number of bytes to read (not characters)
+ Encoding
+
+
+
+
+ Creates a that can access this content. The caller doesn't have to dispose of the returned stream.
+
+
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Temp buffer during writing
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Temp buffer during writing
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Temp buffer during writing
+ Number of bytes written
+
+
+
+ Creates s that can read its data.
+
+ This factory class is thread safe and its data can be read by on any thread.
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Creates a data reader that can read all data
+
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Stream
+ Offset of data
+ Length of data
+
+
+
+
+ Raised when all cached s created by this instance must be recreated
+
+
+
+
+ Disposes of this instance
+
+
+
+
+ This class is used by a . The instance
+ verifies that all input are valid before calling any methods in this class.
+ This class is thread safe.
+
+
+
+
+ Reads bytes
+
+ Offset of data
+ Destination pointer
+ Number of bytes to read
+
+
+
+ Reads bytes
+
+ Offset of data
+ Destination array
+ Destination index
+ Number of bytes to read
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a UTF-16 encoded
+
+ Offset of data
+ Number of characters to read
+
+
+
+
+ Reads a string
+
+ Offset of data
+ Length of string in bytes
+ Encoding
+
+
+
+
+ Gets the data offset of a byte or returns false if the byte wasn't found
+
+ Offset of data
+ End offset of data (not inclusive)
+ Byte value to search for
+ Offset of the byte if found
+
+
+
+
+ Creates s
+
+
+
+
+ Creates a that reads from native memory
+
+ Pointer to data
+
+
+
+
+ Creates a that reads from a byte array
+
+ Data
+
+
+
+
+ Represents a file offset
+
+
+
+
+ Extension methods
+
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Base class for classes needing to implement IFileSection
+
+
+
+
+ The start file offset of this section
+
+
+
+
+ Size of the section
+
+
+
+
+
+
+
+
+
+
+ Set to 's current position
+
+ The reader
+
+
+
+ Set according to 's current position
+
+ The reader
+
+
+
+ Represents a section in a file
+
+
+
+
+ Start offset of the section in the file
+
+
+
+
+ End offset of the section in the file. This is one byte after the last
+ valid offset in the section.
+
+
+
+
+ Creates s that read memory mapped data
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Raised when all cached s created by this instance must be recreated
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Cleans up and frees all allocated memory
+
+
+
+
+ true if memory mapped I/O is enabled
+
+
+
+
+ Call this to disable memory mapped I/O. This must only be called if no other code is
+ trying to access the memory since that could lead to an exception.
+
+
+
+
+ Creates s that read native memory
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Creates a instance
+
+ Pointer to data
+ Length of data
+ The filename or null if the data is not from a file
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ This method doesn't need to be called since this instance doesn't own the native memory
+
+
+
+
+ IMAGE_FILE_HEADER.Characteristics flags
+
+
+
+ Relocation info stripped from file.
+
+
+ File is executable (i.e. no unresolved externel references).
+
+
+ Line nunbers stripped from file.
+
+
+ Local symbols stripped from file.
+
+
+ Agressively trim working set
+
+
+ App can handle >2gb addresses
+
+
+
+
+
+ Bytes of machine word are reversed.
+
+
+ 32 bit word machine.
+
+
+ Debugging info stripped from file in .DBG file
+
+
+ If Image is on removable media, copy and run from the swap file.
+
+
+ If Image is on Net, copy and run from the swap file.
+
+
+ System File.
+
+
+ File is a DLL.
+
+
+ File should only be run on a UP machine
+
+
+ Bytes of machine word are reversed.
+
+
+
+ IMAGE_OPTIONAL_HEADER.DllCharacteristics
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Image can handle a high entropy 64-bit virtual address space.
+
+
+ DLL can move.
+
+
+ Code Integrity Image
+
+
+ Image is NX compatible
+
+
+ Image understands isolation and doesn't want it
+
+
+ Image does not use SEH. No SE handler may reside in this image
+
+
+ Do not bind this image.
+
+
+ Image should execute in an AppContainer
+
+
+ Driver uses WDM model
+
+
+ Image supports Control Flow Guard.
+
+
+
+
+
+
+ Interface for PE optional header classes
+
+
+
+
+ Returns the Magic field
+
+
+
+
+ Returns the MajorLinkerVersion field
+
+
+
+
+ Returns the MinorLinkerVersion field
+
+
+
+
+ Returns the SizeOfCode field
+
+
+
+
+ Returns the SizeOfInitializedData field
+
+
+
+
+ Returns the SizeOfUninitializedData field
+
+
+
+
+ Returns the AddressOfEntryPoint field
+
+
+
+
+ Returns the BaseOfCode field
+
+
+
+
+ Returns the BaseOfData field
+
+
+
+
+ Returns the ImageBase field
+
+
+
+
+ Returns the SectionAlignment field
+
+
+
+
+ Returns the FileAlignment field
+
+
+
+
+ Returns the MajorOperatingSystemVersion field
+
+
+
+
+ Returns the MinorOperatingSystemVersion field
+
+
+
+
+ Returns the MajorImageVersion field
+
+
+
+
+ Returns the MinorImageVersion field
+
+
+
+
+ Returns the MajorSubsystemVersion field
+
+
+
+
+ Returns the MinorSubsystemVersion field
+
+
+
+
+ Returns the Win32VersionValue field
+
+
+
+
+ Returns the SizeOfImage field
+
+
+
+
+ Returns the SizeOfHeaders field
+
+
+
+
+ Returns the CheckSum field
+
+
+
+
+ Returns the Subsystem field
+
+
+
+
+ Returns the DllCharacteristics field
+
+
+
+
+ Returns the SizeOfStackReserve field
+
+
+
+
+ Returns the SizeOfStackCommit field
+
+
+
+
+ Returns the SizeOfHeapReserve field
+
+
+
+
+ Returns the SizeOfHeapCommit field
+
+
+
+
+ Returns the LoaderFlags field
+
+
+
+
+ Returns the NumberOfRvaAndSizes field
+
+
+
+
+ Returns the DataDirectories field. This array contains exactly 16 elements.
+
+
+
+
+ Represents the IMAGE_DATA_DIRECTORY PE section
+
+
+
+
+ Returns the IMAGE_DATA_DIRECTORY.VirtualAddress field
+
+
+
+
+ Returns the IMAGE_DATA_DIRECTORY.Size field
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ A IMAGE_DEBUG_DIRECTORY
+
+
+
+
+ Gets the characteristics (reserved)
+
+
+
+
+ Gets the timestamp
+
+
+
+
+ Gets the major version
+
+
+
+
+ Gets the minor version
+
+
+
+
+ Gets the type
+
+
+
+
+ Gets the size of data
+
+
+
+
+ RVA of the data
+
+
+
+
+ File offset of the data
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Image debug type, see IMAGE_DEBUG_TYPE_* in winnt.n
+
+
+
+
+ Contains PDB info
+
+
+
+
+ It's a deterministic (reproducible) PE file
+
+
+
+
+ Embedded portable PDB data
+
+
+
+
+ Checksum of the PDB file. 0 or more entries allowed.
+
+
+
+
+ Represents the IMAGE_DOS_HEADER PE section
+
+
+
+
+ File offset of the NT headers
+
+
+
+
+ Constructor
+
+ PE file reader
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_FILE_HEADER PE section
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.Machine field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.NumberOfSections field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.TimeDateStamp field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.PointerToSymbolTable field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.NumberOfSymbols field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.SizeOfOptionalHeader field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.Characteristics field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_NT_HEADERS PE section
+
+
+
+
+ Returns the IMAGE_NT_HEADERS.Signature field
+
+
+
+
+ Returns the IMAGE_NT_HEADERS.FileHeader field
+
+
+
+
+ Returns the IMAGE_NT_HEADERS.OptionalHeader field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Creates an IImageOptionalHeader
+
+ PE file reader pointing to the start of the optional header
+ Verify section
+ The created IImageOptionalHeader
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_OPTIONAL_HEADER (32-bit) PE section
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.Magic field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfCode field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfInitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfUninitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.AddressOfEntryPoint field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.BaseOfCode field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.BaseOfData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.ImageBase field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SectionAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.FileAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.Win32VersionValue field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfImage field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfHeaders field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.CheckSum field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.Subsystem field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.DllCharacteristics field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfStackReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfStackCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfHeapReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfHeapCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.LoaderFlags field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.NumberOfRvaAndSizes field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.DataDirectories field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Total size of this optional header (from the file header)
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_OPTIONAL_HEADER64 PE section
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.Magic field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfCode field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfInitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfUninitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.AddressOfEntryPoint field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.BaseOfCode field
+
+
+
+
+ Returns 0 since BaseOfData is not present in IMAGE_OPTIONAL_HEADER64
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.ImageBase field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SectionAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.FileAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.Win32VersionValue field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfImage field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfHeaders field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.CheckSum field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.Subsystem field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.DllCharacteristics field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfStackReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfStackCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfHeapReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfHeapCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.LoaderFlags field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.NumberOfRvaAndSizes field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.DataDirectories field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Total size of this optional header (from the file header)
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_SECTION_HEADER PE section
+
+
+
+
+ Returns the human readable section name, ignoring everything after
+ the first nul byte
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.Name field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.VirtualSize field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.VirtualAddress field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.SizeOfRawData field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.PointerToRawData field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.PointerToRelocations field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.PointerToLinenumbers field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.NumberOfRelocations field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.NumberOfLinenumbers field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.Characteristics field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Converts s to/from s
+
+
+
+
+ Converts a to an
+
+ The file offset to convert
+ The RVA
+
+
+
+ Converts an to a
+
+ The RVA to convert
+ The file offset
+
+
+
+ Interface to access a PE image
+
+
+
+
+ true if image layout is the same as the raw PE image layout, false
+ if it's the same layout as a PE image loaded by the OS PE loader.
+
+
+
+
+ true if some of the memory where the image is located could be unavailable.
+ This could happen if it's been loaded by the OS loader.
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Returns the DOS header
+
+
+
+
+ Returns the NT headers
+
+
+
+
+ Returns the section headers
+
+
+
+
+ Returns the debug directories
+
+
+
+
+ Gets/sets the Win32 resources. This is null if there are no Win32 resources.
+
+
+
+
+ Gets the factory
+
+
+
+
+ Creates a from to the end of the image
+
+ Offset of data
+
+
+
+
+ Creates a
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a from to the end of the image
+
+ RVA of data
+
+
+
+
+ Creates a
+
+ RVA of data
+ Length of data
+
+
+
+
+ Creates a that can read the whole image
+
+
+
+
+
+ Interface to access a PE image
+
+
+
+
+ Call this to disable memory mapped I/O if it was used to open the file. This must only
+ be called if no other code is trying to access the memory since that could lead to an
+ exception.
+
+
+
+
+ true if memory mapped I/O is enabled
+
+
+
+
+ Extension methods
+
+
+
+
+ Finds a
+
+ this
+ Type
+ Name
+ Language ID
+ The or null if none found
+
+
+
+ Calculates a PE checksum
+
+ PE image stream positioned at the MZ bytes
+ Length of image
+ Offset of checksum
+ PE checksum
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Converts a to/from an
+
+
+
+
+ Converts a to an
+
+ The PEInfo context
+ The file offset to convert
+ The RVA
+
+
+
+ Converts an to a
+
+ The PEInfo context
+ The RVA to convert
+ The file offset
+
+
+
+ IMAGE_FILE_HEADER.Machine enum
+
+
+
+ Unknown machine
+
+
+ x86
+
+
+ MIPS little-endian, 0x160 big-endian
+
+
+ MIPS little-endian
+
+
+ MIPS little-endian
+
+
+ MIPS little-endian WCE v2
+
+
+ Alpha_AXP
+
+
+ SH3 little-endian
+
+
+
+
+
+ SH3E little-endian
+
+
+ SH4 little-endian
+
+
+ SH5
+
+
+ ARM Little-Endian
+
+
+ ARM Thumb/Thumb-2 Little-Endian
+
+
+ ARM Thumb-2 Little-Endian
+
+
+
+
+
+ IBM PowerPC Little-Endian
+
+
+
+
+
+ IA-64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Infineon
+
+
+
+
+
+ EFI Byte Code
+
+
+ x64
+
+
+ M32R little-endian
+
+
+
+
+
+
+
+
+
+ Extensions
+
+
+
+
+ Checks if is a 64-bit machine
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Image layout
+
+
+
+
+ Use this if the PE file has a normal structure (eg. it's been read from a file on disk)
+
+
+
+
+ Use this if the PE file has been loaded into memory by the OS PE file loader
+
+
+
+
+ Accesses a PE file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Data reader factory
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ Name of the file
+ true if we should map it as an executable
+ Verify PE file data
+
+
+
+ Constructor
+
+ Name of the file
+ Verify PE file data
+
+
+
+ Constructor
+
+ Name of the file
+
+
+
+ Constructor
+
+ The PE file data
+ Filename or null
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Filename or null
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Filename or null
+
+
+
+ Constructor
+
+ Address of PE image
+ Length of PE image
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+ Length of PE image
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+ Length of PE image
+
+
+
+ Constructor
+
+ Address of PE image
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reads all PE sections from a PE stream
+
+
+
+
+ Returns the DOS header
+
+
+
+
+ Returns the NT headers
+
+
+
+
+ Returns the section headers
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify sections
+ Thrown if verification fails
+
+
+
+ Returns the first that has data at file offset
+
+
+ The file offset
+
+
+
+
+ Returns the first that has data at RVA
+
+
+ The RVA
+
+
+
+
+ Converts a to an
+
+ The file offset to convert
+ The RVA
+
+
+
+ Converts an to a
+
+ The RVA to convert
+ The file offset
+
+
+
+ Returns size of image rounded up to
+
+ It calculates the size itself, and does not return
+ Size of image in bytes
+
+
+
+ Represents an RVA (relative virtual address)
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.Subsystem
+
+
+
+ Unknown subsystem.
+
+
+ Image doesn't require a subsystem.
+
+
+ Image runs in the Windows GUI subsystem.
+
+
+ Image runs in the Windows character subsystem.
+
+
+ image runs in the OS/2 character subsystem.
+
+
+ image runs in the Posix character subsystem.
+
+
+ image is a native Win9x driver.
+
+
+ Image runs in the Windows CE subsystem.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ dnlib settings
+
+
+
+
+ true if dnlib is thread safe. (THREAD_SAFE was defined during compilation)
+
+
+
+
+ Cancellation token interface
+
+
+
+
+ Throws a if the operation should be canceled
+
+
+
+
+ Simple class using Monitor.Enter() and Monitor.Exit()
+ and just like ReaderWriterLockSlim it prevents recursive locks. It doesn't support
+ multiple readers. A reader lock is the same as a writer lock.
+
+
+
+
+ Creates a new instance of this class
+
+
+
+
+
+ Constructor
+
+
+
+
+ Enter read mode
+
+
+
+
+ Exit read mode
+
+
+
+
+ Enter write mode
+
+
+
+
+ Exit write mode
+
+
+
+
+ Interface to access a lazily initialized list
+
+ Type to store in list
+
+
+
+ Gets notified of list events
+
+ List value
+
+
+
+ Called before a new value is lazily added to the list.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index where the value will be added
+ Value that will be added to the list. It can be modified by
+ the callee.
+
+
+
+ Called before a new value is added to the list.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index where the value will be added
+ Value that will be added to the list
+
+
+
+ Called before a value is removed from the list. If all elements are removed,
+ is called, and this method is not called.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index of value
+ The value that will be removed
+
+
+
+ Called after the list has been resized (eg. an element has been added/removed). It's not
+ called when an element is replaced.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index where the change occurred.
+
+
+
+ Called before the whole list is cleared.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+
+
+
+ Implements a that is lazily initialized
+
+ Type to store in list
+
+
+
+ Stores a simple value
+
+
+
+
+ true if it has been initialized, false otherwise
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor that should be used when new elements are inserted into
+
+ User data
+
+
+
+ Gets the value
+
+ Index in the list
+
+
+
+ Sets the value
+
+ Index in the list
+ New value
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ List listener
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enumerator
+
+
+
+
+ Gets the current value
+
+
+
+
+ Moves to the next element in the collection
+
+
+
+
+
+ Disposes the enumerator
+
+
+
+
+ Gets the list enumerator
+
+
+
+
+
+
+
+
+ Implements a that is lazily initialized
+
+ Type to store in list
+ Type of the context passed to the read-value delegate
+
+
+
+ Stores data and keeps track of the original index and whether the data has been
+ initialized or not.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor that should only be called when is initialized.
+
+ Original index of this element
+ LazyList instance
+
+
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ List listener
+
+
+
+ Constructor
+
+ Initial length of the list
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ Constructor
+
+ Initial length of the list
+ List listener
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ A readonly list that gets initialized lazily
+
+ Any class type
+
+
+
+ Gets the length of this list
+
+
+
+
+ Access the list
+
+ Index
+ The element or null if is invalid
+
+
+
+ Constructor
+
+ Length of the list
+ Delegate instance that lazily reads an element. It might
+ be called more than once for each rid in rare cases. It must never return
+ null.
+
+
+
+ A readonly list that gets initialized lazily
+
+ Any class type
+
+
+
+ Gets the length of this list
+
+
+
+
+ Access the list
+
+ Index
+ Generic parameter context
+ The element or null if is invalid
+
+
+
+ Constructor
+
+ Length of the list
+ Delegate instance that lazily reads an element. It might
+ be called more than once for each rid. It must never return null.
+
+
+
+ Lazily returns the original value if the user hasn't overwritten the value
+
+ Value type
+
+
+
+ Sets the lock that protects the data
+
+
+
+
+ Set a delegate instance that will return the original value
+
+
+
+
+ Gets/sets the value
+
+ The getter returns the original value if the value hasn't been initialized.
+
+
+
+ Returns true if the value has been initialized
+
+
+
+
+ Returns true if the value was set by the user
+
+
+
+
+ A resource blob
+
+
+
+
+ Gets the data reader
+
+
+
+
+
+ Gets/sets the code page
+
+
+
+
+ Gets/sets the reserved field
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of resource data
+ Length of resource data
+ Name
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of resource data
+ Length of resource data
+ Name
+ Code page
+ Reserved value
+
+
+
+ A Win32 resource directory (see IMAGE_RESOURCE_DIRECTORY in the Windows SDK)
+
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+
+ Gets/sets the characteristics
+
+
+
+
+ Gets/sets the time date stamp
+
+
+
+
+ Gets/sets the major version number
+
+
+
+
+ Gets/sets the minor version number
+
+
+
+
+ Gets all directory entries
+
+
+
+
+ Gets all resource data
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Finds a by name
+
+ Name
+ A or null if it wasn't found
+
+
+
+ Finds a by name
+
+ Name
+ A or null if it wasn't found
+
+
+
+ A Win32 resource directory created by the user
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ A Win32 resource directory created from a PE file
+
+
+
+
+ To make sure we don't get stuck in an infinite loop, don't allow more than this
+ many sub directories.
+
+
+
+ Owner
+
+
+ Directory depth. When creating more 's,
+ the instances get this value + 1
+
+
+
+ Info about all 's we haven't created yet
+
+
+
+
+ Info about all 's we haven't created yet
+
+
+
+ Offset of resource directory / data
+
+
+
+ Constructor
+
+ Starts from 0. If it's big enough, we'll stop reading more data.
+ Name
+ Resources
+ Reader positioned at the start of this resource directory
+
+
+
+ Reads the directory header and initializes and
+ .
+
+
+
+
+
+ Reads a string
+
+ Reader
+ Offset of string
+ The string or null if we could not read it
+
+
+
+ Base class of and
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+
+
+
+ A Win32 resource name. It can be either an integer or a string.
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ The ID. It's only valid if is true
+
+
+
+
+ The name. It's only valid if is true
+
+
+
+
+ Constructor
+
+ ID
+
+
+
+ Constructor
+
+ Name
+
+
+ Converts input to a
+
+
+ Converts input to a
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Win32 resources base class
+
+
+
+
+ Gets/sets the root directory
+
+
+
+
+ Finds a
+
+ Type
+ The or null if none found
+
+
+
+ Finds a
+
+ Type
+ Name
+ The or null if none found
+
+
+
+ Finds a
+
+ Type
+ Name
+ Language ID
+ The or null if none found
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Win32 resources class created by the user
+
+
+
+
+
+
+
+ Win32 resources class created from a PE file
+
+
+
+
+ Converts data RVAs to file offsets in
+
+
+
+
+ This reader only reads the raw data. The data RVA is found in the data header and
+ it's first converted to a file offset using . This file
+ offset is where we'll read from using this reader.
+
+
+
+
+ This reader only reads the directory entries and data headers. The data is read
+ by
+
+
+
+
+
+
+
+ Gets the resource reader
+
+
+
+
+ Constructor
+
+ / converter
+ Reader for the whole Win32 resources section (usually
+ the .rsrc section). It's used to read 's and
+ 's but not the actual data blob.
+ Offset of resource section
+ Length of resource section
+ true if this instance can dispose of
+ Data reader (it's used after converting an
+ to a )
+ Offset of resource section
+ Length of resource section
+ true if this instance can dispose of
+
+
+
+ Constructor
+
+ The PE image
+
+
+
+ Constructor
+
+ The PE image
+ Reader for the whole Win32 resources section (usually
+ the .rsrc section) or null if we should create one from the resource data
+ directory in the optional header
+ Offset of resource section
+ Length of resource section
+ true if this instance can dispose of
+
+
+
+ Creates a new data reader
+
+ RVA of data
+ Size of data
+
+
+
+
+
+
+
diff --git a/packages/dnlib.3.3.2/lib/net45/dnlib.dll b/packages/dnlib.3.3.2/lib/net45/dnlib.dll
new file mode 100644
index 0000000..c43c9b6
Binary files /dev/null and b/packages/dnlib.3.3.2/lib/net45/dnlib.dll differ
diff --git a/packages/dnlib.3.3.2/lib/net45/dnlib.xml b/packages/dnlib.3.3.2/lib/net45/dnlib.xml
new file mode 100644
index 0000000..7e70c04
--- /dev/null
+++ b/packages/dnlib.3.3.2/lib/net45/dnlib.xml
@@ -0,0 +1,38514 @@
+
+
+
+ dnlib
+
+
+
+
+ Returns types without getting stuck in an infinite loop
+
+
+
+
+ Gets a list of all types and nested types
+
+ A list of types
+
+
+
+ Assembly flags from Assembly.Flags column.
+
+ See CorHdr.h/CorAssemblyFlags
+
+
+ No flags set
+
+
+ The assembly ref holds the full (unhashed) public key.
+
+
+ Processor Architecture unspecified
+
+
+ Processor Architecture: neutral (PE32)
+
+
+ Processor Architecture: x86 (PE32)
+
+
+ Processor Architecture: Itanium (PE32+)
+
+
+ Processor Architecture: AMD X64 (PE32+)
+
+
+ Processor Architecture: ARM (PE32)
+
+
+ applies to any platform but cannot run on any (e.g. reference assembly), should not have "specified" set
+
+
+ Propagate PA flags to AssemblyRef record
+
+
+ Bits describing the processor architecture
+
+
+ Bits describing the PA incl. Specified
+
+
+ NOT A FLAG, shift count in PA flags <--> index conversion
+
+
+ From "DebuggableAttribute".
+
+
+ From "DebuggableAttribute".
+
+
+ The assembly can be retargeted (at runtime) to an assembly from a different publisher.
+
+
+
+
+
+
+
+
+ Bits describing ContentType
+
+
+
+ A high-level representation of a row in the Assembly table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Assembly.HashAlgId
+
+
+
+
+
+
+
+ From columns Assembly.MajorVersion, Assembly.MinorVersion, Assembly.BuildNumber,
+ Assembly.RevisionNumber.
+
+ If is null
+
+
+
+
+
+
+ From column Assembly.Flags
+
+
+
+ Attributes
+
+
+
+ From column Assembly.PublicKey
+
+ An empty is created if the caller writes null
+
+
+
+
+
+
+ Gets the public key token which is calculated from
+
+
+
+
+ From column Assembly.Name
+
+
+
+ Name
+
+
+
+ From column Assembly.Locale
+
+
+
+ Name
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all modules. The first module is always the .
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the manifest (main) module. This is always the first module in .
+ null is returned if is empty.
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+ Finds a module in this assembly
+
+ Name of module
+ A instance or null if it wasn't found.
+
+
+
+ Creates an instance from a file
+
+ File name of an existing .NET assembly
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a file
+
+ File name of an existing .NET assembly
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a byte[]
+
+ Contents of a .NET assembly
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a byte[]
+
+ Contents of a .NET assembly
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a memory location
+
+ Address of a .NET assembly
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a memory location
+
+ Address of a .NET assembly
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Gets the assembly name with the public key
+
+
+
+
+ Gets the assembly name with the public key token
+
+
+
+
+ Finds a . For speed, enable
+ if possible (read the documentation first).
+
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing or null if it wasn't found.
+
+
+
+ Finds a . Its scope (i.e., module or assembly) is ignored when
+ looking up the type. For speed, enable
+ if possible (read the documentation first).
+
+ The type ref
+ An existing or null if it wasn't found.
+
+
+
+ Writes the assembly to a file on disk. If the file exists, it will be truncated.
+
+ Filename
+ Writer options
+
+
+
+ Writes the assembly to a stream.
+
+ Destination stream
+ Writer options
+
+
+
+ Checks whether this assembly is a friend assembly of
+
+ Target assembly
+
+
+
+ Adds or updates an existing System.Reflection.AssemblySignatureKeyAttribute
+ attribute. This attribute is used in enhanced strong naming with key migration.
+ See http://msdn.microsoft.com/en-us/library/hh415055.aspx
+
+ Identity public key
+ Identity strong name key pair
+ Signature public key
+
+
+
+ Gets the original System.Runtime.Versioning.TargetFrameworkAttribute custom attribute information if possible.
+ It reads this from the original metadata and doesn't use .
+ Returns false if the custom attribute isn't present or if it is invalid.
+
+ Framework name
+ Version
+ Profile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An Assembly row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Simple name
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key
+ Locale
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Assembly name info
+ If is null
+
+
+
+ Constructor
+
+ Assembly name info
+ If is null
+
+
+
+ Created from a row in the Assembly table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Assembly row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Hashes some data according to a
+
+
+
+
+ Constructor
+
+ If is an unsupported hash algorithm, then
+ will be used as the hash algorithm.
+ The algorithm to use
+
+
+
+
+
+
+ Hash data
+
+ If is an unsupported hash algorithm, then
+ will be used as the hash algorithm.
+ The data
+ The algorithm to use
+ Hashed data or null if was null
+
+
+
+ Hash data
+
+ Data
+
+
+
+ Hash data
+
+ Data
+ Offset
+ Length
+
+
+
+ Hash stream data
+
+ Stream
+ Number of bytes to hash
+ Temp buffer
+
+
+
+ Computes the hash
+
+
+
+
+ Creates a public key token from the hash of some
+
+ A public key is hashed, and the last 8 bytes of the hash, in reverse
+ order, is used as the public key token
+ The data
+ A new instance
+
+
+
+ Any ALG_CLASS_HASH type in WinCrypt.h can be used by Microsoft's CLI implementation
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a reserved value in the CLI
+
+
+ The only algorithm supported by the CLI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Extension methods
+
+
+
+
+ Gets the field type
+
+ this
+ Field type or null if none
+
+
+
+ Gets the return type
+
+ this
+ Return type or null if none
+
+
+
+ Gets the parameters
+
+ this
+ The parameters
+
+
+
+ Gets the parameter count
+
+ this
+ Parameter count
+
+
+
+ Gets the generic parameter count
+
+ this
+ Generic parameter count
+
+
+
+ Gets the parameters after the sentinel
+
+ this
+ Parameters after sentinel or null if none
+
+
+
+ Gets the locals
+
+ this
+ All locals
+
+
+
+ Gets the generic arguments
+
+ this
+ All generic arguments
+
+
+
+ Gets the property
+
+ this
+ The type's property or
+ false if input isnull
+
+
+
+ Returns true if it's an integer or a floating point type
+
+ Element type
+
+
+
+
+ Returns the size of the element type in bytes or -1 if it's unknown
+
+ Element type
+ Size of a pointer
+
+
+
+
+ Checks whether it's a value type
+
+ this
+ true if it's a value type, false if it's not a value type or
+ if we couldn't determine whether it's a value type. Eg., it could be a generic
+ instance type.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver or
+ null if the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver or
+ null if the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver
+ If the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver
+ If the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver
+ If the assembly couldn't be found.
+
+
+
+ Checks whether appears to be the core library (eg.
+ mscorlib, System.Runtime or corefx).
+
+ If is a reference to a private corlib (eg. System.Private.CoreLib),
+ this method returns false unless is an
+ whose manifest (first) module defines System.Object. This check is performed in
+ the constructor and the result can be found in .
+
+ Note that this method also returns true if it appears to be a 'public' corlib,
+ eg. mscorlib, etc, even if it internally possibly references a private corlib.
+
+ The assembly
+
+
+
+ Converts to a instance
+
+ The assembly
+ A new instance
+
+
+
+ Converts to a
+
+ The type
+ true if we should try to figure out whether
+ is a
+ A instance or null if
+ is invalid
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns the base type of . Throws if we can't resolve
+ a .
+
+ The type
+ The base type or null if there's no base type
+
+
+
+ Returns the base type of
+
+ The type
+ true if we should throw if we can't
+ resolve a . false if we should ignore the error and
+ just return null.
+ The base type or null if there's no base type, or if
+ is true and we couldn't resolve
+ a
+
+
+
+ Gets the scope type, resolves it, and returns the
+
+ Type
+ A or null if input was null or if we
+ couldn't resolve the reference.
+
+
+
+ Gets the scope type, resolves it, and returns the
+
+ Type
+ A instance.
+ If the type couldn't be resolved
+
+
+
+ Resolves an to a . Returns null if it
+ was not possible to resolve it. See also
+
+ Field to resolve
+ The or null if is
+ null or if it wasn't possible to resolve it (the field doesn't exist or its
+ assembly couldn't be loaded)
+
+
+
+ Resolves an to a and throws an exception if
+ it was not possible to resolve it. See also
+
+ Field to resolve
+ The
+
+
+
+ Resolves an to a . Returns null if it
+ was not possible to resolve it. See also . If
+ is a , then the
+ property is resolved and returned.
+
+ Method to resolve
+ The or null if is
+ null or if it wasn't possible to resolve it (the method doesn't exist or its
+ assembly couldn't be loaded)
+
+
+
+ Resolves an to a and throws an exception
+ if it was not possible to resolve it. See also . If
+ is a , then the
+ property is resolved and returned.
+
+ Method to resolve
+ The
+
+
+
+ Returns the definition assembly of a
+
+ Member reference
+
+
+
+
+ Gets the normal visible parameters, doesn't include the hidden 'this' parameter
+
+ this
+ The normal visible parameters
+
+
+
+ Gets the normal visible parameter count, doesn't include the hidden 'this' parameter
+
+ this
+ Normal visible parameter count
+
+
+
+ Checks whether any normal visible parameter exists, doesn't include the hidden 'this' parameter
+
+ this
+ true if there's at least one normal visible parameter
+
+
+
+ Gets a normal visible parameter, doesn't include the hidden 'this' parameter
+
+ this
+ Normal visible parameter index
+
+
+
+
+ Converts a to a
+
+ The sig
+
+
+
+ Returns true if it's an integer or a floating point type
+
+ Type
+
+
+
+
+ Gets a if matches a primitive type.
+
+ this
+ The type
+ A or null if it didn't match any primitive type
+
+
+
+ Gets a if and
+ matches a primitive type.
+
+ this
+ Namespace
+ Name
+ Definition assembly
+ A or null if it didn't match any primitive type
+
+
+
+ Gets a if and
+ matches a primitive type.
+
+ this
+ Namespace
+ Name
+ Definition assembly
+ A or null if it didn't match any primitive type
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Resolves a type
+
+ this
+ The type
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves a type
+
+ this
+ The type
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Resolves a type
+
+ this
+ The type
+ The module that needs to resolve the type or null
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Resolves a method or a field
+
+ this
+ A method/field reference
+ A or a instance
+ If the method/field couldn't be resolved
+
+
+
+ Resolves a field
+
+ this
+ A field reference
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves a field
+
+ this
+ A field reference
+ A instance or null if it couldn't be resolved.
+ If the field couldn't be resolved
+
+
+
+ Resolves a method
+
+ this
+ A method reference
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves a method
+
+ this
+ A method reference
+ A instance or null if it couldn't be resolved.
+ If the method couldn't be resolved
+
+
+
+ Resolves a token
+
+ This
+ The metadata token
+ A or null if is invalid
+
+
+
+ Returns , but if it's a nested ,
+ return the non-nested
+
+ this
+ The scope type
+
+
+
+ Finds a . Its scope (i.e., module or assembly) is ignored when
+ looking up the type.
+
+ this
+ The type ref
+ An existing or null if it wasn't found.
+ If type couldn't be found
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing
+ If type couldn't be found
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by /
+ An existing or null if it wasn't found.
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by /
+ An existing
+ If type couldn't be found
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by +
+ An existing or null if it wasn't found.
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by +
+ An existing
+ If type couldn't be found
+
+
+
+ Checks whether a exists. 's scope (i.e.,
+ module or assembly) is ignored when looking up the type.
+
+ this
+ The type ref
+ true if the exists, false otherwise
+
+
+
+ Checks whether a exists
+
+ this
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ true if the exists, false otherwise
+
+
+
+ Checks whether a exists
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by /
+ true if the exists, false otherwise
+
+
+
+ Checks whether a exists
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by +
+ true if the exists, false otherwise
+
+
+
+ Removes all C optional/required modifiers
+
+ A instance
+ Input after all modifiers
+
+
+
+ Removes pinned signature
+
+ The type
+ Input after pinned signature
+
+
+
+ Removes all modifiers and pinned sig
+
+ The type
+ Inputer after modifiers and pinned signature
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Gets the next field or null
+
+ this
+
+
+
+
+ Gets the value or false if
+ is null
+
+ this
+
+
+
+
+ Gets the value or false if
+ is null
+
+ this
+
+
+
+
+ Gets the element type
+
+ this
+ The element type
+
+
+
+ Gets the full name of the type
+
+ this
+ Full name of the type
+
+
+
+ Gets the name of the type
+
+ this
+ Name of the type
+
+
+
+ Gets the namespace of the type
+
+ this
+ Namespace of the type
+
+
+
+ Returns the if it is a .
+
+ this
+ A or null if none found
+
+
+
+ Returns the if it is a .
+
+ this
+ A or null if none found
+
+
+
+ Returns the if it is a .
+ Nothing is resolved.
+
+ this
+ A or null if none found
+
+
+
+ Returns the if it is a .
+
+ this
+ A or null if none found
+
+
+
+ Flags used by
+
+
+
+
+ Compare assembly simple name
+
+
+
+
+ Compare assembly version
+
+
+
+
+ Compare assembly public key token
+
+
+
+
+ Compare assembly culture
+
+
+
+
+ Compare content type
+
+
+
+
+ Compare assembly simple name, version, public key token, locale and content type
+
+
+
+
+ Compares two assembly names
+
+
+
+
+ Compares the name, version, public key token, culture and content type
+
+
+
+
+ Compares only the name and the public key token
+
+
+
+
+ Compares only the name
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Constructor
+
+ Comparison flags
+
+
+
+ Compares two assembly names
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two assembly names
+
+ First
+ Second
+ true if equal, false otherwise
+
+
+
+ Figures out which of two assembly names is closer to another assembly name
+
+ Requested assembly name
+ First
+ Second
+ -1 if both are equally close, 0 if is closest, 1 if
+ is closest
+
+
+
+ Gets the hash code of an assembly name
+
+ Assembly name
+ The hash code
+
+
+
+ Stores assembly name information
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the or null if none specified
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the public key or token
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the culture or null if none specified
+
+
+
+
+ Gets the full name of the assembly
+
+
+
+
+ Gets the full name of the assembly but use a public key token
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ An assembly name
+
+
+
+ Constructor
+
+ The assembly
+
+
+
+ Constructor
+
+ Assembly name info
+
+
+
+
+
+
+ A high-level representation of a row in the AssemblyRef table
+
+
+
+
+ An assembly ref that can be used to indicate that it references the current assembly
+ when the current assembly is not known (eg. a type string without any assembly info
+ when it references a type in the current assembly).
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From columns AssemblyRef.MajorVersion, AssemblyRef.MinorVersion,
+ AssemblyRef.BuildNumber, AssemblyRef.RevisionNumber
+
+ If is null
+
+
+
+
+
+
+ From column AssemblyRef.Flags
+
+
+
+ Attributes
+
+
+
+ From column AssemblyRef.PublicKeyOrToken
+
+ If is null
+
+
+
+
+
+
+ From column AssemblyRef.Name
+
+
+
+ Name
+
+
+
+ From column AssemblyRef.Locale
+
+
+
+ Culture
+
+
+
+ From column AssemblyRef.HashValue
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ Same as , except that it uses the PublicKey if available.
+
+
+
+
+ Gets the full name of the assembly but use a public key token
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+
+
+
+ An AssemblyRef row created by the user and not present in the original .NET file
+
+
+
+
+ Creates a reference to CLR 1.0's mscorlib
+
+
+
+
+ Creates a reference to CLR 1.1's mscorlib
+
+
+
+
+ Creates a reference to CLR 2.0's mscorlib
+
+
+
+
+ Creates a reference to CLR 4.0's mscorlib
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Simple name
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key or public key token
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key or public key token
+ Locale
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Assembly name info
+ If is null
+
+
+
+ Constructor
+
+ Assembly
+
+
+
+ Created from a row in the AssemblyRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this AssemblyRef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Resolves assemblies
+
+
+
+
+ Gets/sets the default
+
+
+
+
+ true if should find an assembly that matches exactly.
+ false if it first tries to match exactly, and if that fails, it picks an
+ assembly that is closest to the requested assembly.
+
+
+
+
+ true if resolved .NET framework assemblies can be redirected to the source
+ module's framework assembly version. Eg. if a resolved .NET 3.5 assembly can be
+ redirected to a .NET 4.0 assembly if the source module is a .NET 4.0 assembly. This is
+ ignored if is true.
+
+
+
+
+ If true, all modules in newly resolved assemblies will have their
+ property set to true. This is
+ enabled by default since these modules shouldn't be modified by the user.
+
+
+
+
+ true to search the Global Assembly Cache. Default value is true.
+
+
+
+
+ Gets paths searched before trying the standard locations
+
+
+
+
+ Gets paths searched after trying the standard locations
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Module context for all resolved assemblies
+
+
+
+
+
+
+ Add a module's assembly to the assembly cache
+
+ The module whose assembly should be cached
+ true if 's assembly is cached, false
+ if it's not cached because some other assembly with the exact same full name has
+ already been cached or if or its assembly is null.
+
+
+
+ Add an assembly to the assembly cache
+
+ The assembly
+ true if is cached, false if it's not
+ cached because some other assembly with the exact same full name has already been
+ cached or if is null.
+
+
+
+ Removes a module's assembly from the cache
+
+ The module
+ true if its assembly was removed, false if it wasn't removed
+ since it wasn't in the cache, it has no assembly, or was
+ null
+
+
+
+ Removes the assembly from the cache
+
+ The assembly
+ true if it was removed, false if it wasn't removed since it
+ wasn't in the cache or if was null
+
+
+
+ Clears the cache and calls on each cached module.
+ Use to remove any assemblies you added yourself
+ using before calling this method if you don't want
+ them disposed.
+
+
+
+
+ Gets the cached assemblies in this resolver.
+
+ The cached assemblies.
+
+
+
+ Finds an assembly that exactly matches the requested assembly
+
+ Assembly to find
+ Search paths or null if none
+ Module context
+ An instance or null if an exact match
+ couldn't be found.
+
+
+
+ Finds the closest assembly from the already cached assemblies
+
+ Assembly to find
+ The closest or null if none found
+
+
+
+ Returns true if is inserted in
+
+ Assembly to check
+
+
+
+ Called before
+
+ Assembly to find
+ The module that needs to resolve an assembly or null
+ We're trying to find an exact match
+ null or an enumerable of full paths to try
+
+
+
+ Called after (if it fails)
+
+ Assembly to find
+ The module that needs to resolve an assembly or null
+ We're trying to find an exact match
+ null or an enumerable of full paths to try
+
+
+
+ Called after (if it fails)
+
+ Assembly to find
+ The module that needs to resolve an assembly or null
+ We're trying to find an exact match
+ null or an enumerable of full paths to try
+
+
+
+ Gets all search paths to use for this module
+
+ The module or null if unknown
+ A list of all search paths to use for this module
+
+
+
+ Gets all module search paths. This is usually empty unless its assembly has
+ a .config file specifying any additional private search paths in a
+ <probing/> element.
+
+ The module or null if unknown
+ A list of search paths
+
+
+
+ Gets all private assembly search paths as found in the module's .config file.
+
+ The module or null if unknown
+ A list of search paths
+
+
+
+ See CorHdr.h/CorCallingConvention
+
+
+
+ The managed calling convention
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ generic method instantiation
+
+
+ used ONLY for 64bit vararg PInvoke calls
+
+
+ Calling convention is bottom 4 bits
+
+
+ Generic method
+
+
+ Method needs a 'this' parameter
+
+
+ 'this' parameter is the first arg if set (else it's hidden)
+
+
+ Used internally by the CLR
+
+
+
+ Base class for sigs with a calling convention
+
+
+
+
+ The calling convention
+
+
+
+
+ Gets/sets the extra data found after the signature
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if there's an implicit this parameter
+
+
+
+
+ true if this contains a
+ or a .
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The calling convention
+
+
+
+ Gets the calling convention
+
+
+
+
+ A field signature
+
+
+
+
+ Gets/sets the field type
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Field type
+
+
+
+ Constructor
+
+ Field type
+ The calling convention (must have Field set)
+
+
+
+ Clone this
+
+
+
+
+
+
+
+ Method sig base class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the calling convention
+
+
+
+
+ Gets/sets the return type
+
+
+
+
+ Gets the parameters. This is never null
+
+
+
+
+ Gets/sets the generic param count
+
+
+
+
+ Gets the parameters that are present after the sentinel. Note that this is null
+ if there's no sentinel. It can still be empty even if it's not null.
+
+
+
+
+ A method signature
+
+
+
+
+ Gets/sets the original token. It's set when reading calli instruction operands
+ and it's a hint to the module writer if it tries to re-use the same token.
+
+
+
+
+ Creates a static MethodSig
+
+ Return type
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Argument types
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Argument types
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Arg type #1
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+ Parameters after sentinel
+
+
+
+ Clone this
+
+
+
+
+
+
+
+ A property signature
+
+
+
+
+ Creates a static PropertySig
+
+ Return type
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Argument types
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Argument types
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention (must have Property set)
+
+
+
+ Constructor
+
+ true if instance, false if static
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Arg type #1
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Argument types
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+ Parameters after sentinel
+
+
+
+ Clone this
+
+
+
+
+
+
+
+ A local variables signature
+
+
+
+
+ All local types. This is never null.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention (must have LocalSig set)
+ Number of locals
+
+
+
+ Constructor
+
+ Local type #1
+
+
+
+ Constructor
+
+ Local type #1
+ Local type #2
+
+
+
+ Constructor
+
+ Local type #1
+ Local type #2
+ Local type #3
+
+
+
+ Constructor
+
+ All locals
+
+
+
+ Constructor
+
+ All locals
+
+
+
+ Constructor
+
+ All locals (this instance now owns it)
+ Dummy
+
+
+
+ Clone this
+
+
+
+
+ An instantiated generic method signature
+
+
+
+
+ Gets the generic arguments (must be instantiated types, i.e., closed types)
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention (must have GenericInst set)
+ Number of generic args
+
+
+
+ Constructor
+
+ Generic arg #1
+
+
+
+ Constructor
+
+ Generic arg #1
+ Generic arg #2
+
+
+
+ Constructor
+
+ Generic arg #1
+ Generic arg #2
+ Generic arg #3
+
+
+
+ Constructor
+
+ Generic args
+
+
+
+ Constructor
+
+ Generic args
+
+
+
+ Clone this
+
+
+
+
+ A high-level representation of a row in the ClassLayout table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+ From column ClassLayout.PackingSize
+
+
+
+
+
+
+
+ From column ClassLayout.ClassSize
+
+
+
+
+
+
+
+ A ClassLayout row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ PackingSize
+ ClassSize
+
+
+
+ Created from a row in the ClassLayout table
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ClassLayout row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ A high-level representation of a row in the Constant table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+ From column Constant.Type
+
+
+
+
+
+
+
+ From column Constant.Value
+
+
+
+
+
+
+
+ A Constant row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Value
+
+
+
+ Constructor
+
+ Value
+ Type
+
+
+
+ Created from a row in the Constant table
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Constant row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Default implementation of
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The owner module
+
+
+
+ Constructor
+
+ The owner module
+ Corlib assembly reference or null if a default
+ assembly reference should be created
+
+
+
+
+
+
+ Gets the required alignment for the stubs, must be a power of 2
+
+ Stub type
+
+
+
+
+ Gets the size of a stub, it doesn't have to be a multiple of
+
+ Stub type
+
+
+
+
+ Gets the offset of the code (entry point) relative to the start of the stub
+
+ Stub type
+
+
+
+
+ Gets the RVA of the func field that the stub jumps to
+
+ Reader, positioned at the stub func
+ PE image
+ Updated with RVA of func field
+
+
+
+
+ Writes stub relocs, if needed
+
+ Stub type
+ Reloc directory
+ The chunk where this stub will be written to
+ Offset of this stub in
+
+
+
+ Writes the stub that jumps to the managed function
+
+ Stub type
+ Writer
+ Image base
+ RVA of this stub
+ RVA of a pointer-sized field that contains the absolute address of the managed function
+
+
+
+ A custom attribute
+
+
+
+
+ Gets/sets the custom attribute constructor
+
+
+
+
+ Gets the attribute type
+
+
+
+
+ Gets the full name of the attribute type
+
+
+
+
+ true if the raw custom attribute blob hasn't been parsed
+
+
+
+
+ Gets the raw custom attribute blob or null if the CA was successfully parsed.
+
+
+
+
+ Gets all constructor arguments
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all named arguments (field and property values)
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all s that are field arguments
+
+
+
+
+ Gets all s that are property arguments
+
+
+
+
+ Gets the #Blob offset or 0 if unknown
+
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Raw custom attribute blob
+
+
+
+ Constructor
+
+ Custom attribute constructor
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments or null if none
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Named arguments or null if none
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments or null if none
+ Named arguments or null if none
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments or null if none
+ Named arguments or null if none
+ Original custom attribute #Blob offset or 0
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments. The list is now owned by this instance.
+ Named arguments. The list is now owned by this instance.
+ Original custom attribute #Blob offset or 0
+
+
+
+ Gets the field named
+
+ Name of field
+ A instance or null if not found
+
+
+
+ Gets the field named
+
+ Name of field
+ A instance or null if not found
+
+
+
+ Gets the property named
+
+ Name of property
+ A instance or null if not found
+
+
+
+ Gets the property named
+
+ Name of property
+ A instance or null if not found
+
+
+
+ Gets the property/field named
+
+ Name of property/field
+ true if it's a field, false if it's a property
+ A instance or null if not found
+
+
+
+ Gets the property/field named
+
+ Name of property/field
+ true if it's a field, false if it's a property
+ A instance or null if not found
+
+
+
+
+
+
+ A custom attribute constructor argument
+
+
+
+
+ Gets/sets the argument type
+
+
+
+
+ Gets/sets the argument value
+
+
+
+
+ Constructor
+
+ Argument type
+
+
+
+ Constructor
+
+ Argument type
+ Argument value
+
+
+
+ Clones this instance and any s and s
+ referenced from this instance.
+
+
+
+
+
+
+
+
+ A custom attribute field/property argument
+
+
+
+
+ true if it's a field
+
+
+
+
+ true if it's a property
+
+
+
+
+ Gets/sets the field/property type
+
+
+
+
+ Gets/sets the property/field name
+
+
+
+
+ Gets/sets the argument
+
+
+
+
+ Gets/sets the argument type
+
+
+
+
+ Gets/sets the argument value
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ true if field, false if property
+
+
+
+ Constructor
+
+ true if field, false if property
+ Field/property type
+
+
+
+ Constructor
+
+ true if field, false if property
+ Field/property type
+ Name of field/property
+
+
+
+ Constructor
+
+ true if field, false if property
+ Field/property type
+ Name of field/property
+ Field/property argument
+
+
+
+ Clones this instance and any s referenced from this instance.
+
+
+
+
+
+
+
+
+ Stores s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Initial length of the list
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ Checks whether a custom attribute is present
+
+ Full name of custom attribute type
+ true if the custom attribute type is present, false otherwise
+
+
+
+ Removes all custom attributes of a certain type
+
+ Full name of custom attribute type that should be removed
+
+
+
+ Finds a custom attribute
+
+ Full name of custom attribute type
+ A or null if it wasn't found
+
+
+
+ Finds all custom attributes of a certain type
+
+ Full name of custom attribute type
+ All s of the requested type
+
+
+
+ Finds a custom attribute
+
+ Custom attribute type
+ The first found or null if none found
+
+
+
+ Finds a custom attribute
+
+ Custom attribute type
+ Attribute type comparison flags
+ The first found or null if none found
+
+
+
+ Finds all custom attributes of a certain type
+
+ Custom attribute type
+ All s of the requested type
+
+
+
+ Finds all custom attributes of a certain type
+
+ Custom attribute type
+ Attribute type comparison flags
+ All s of the requested type
+
+
+
+ Searches for a type according to custom attribute search rules: first try the
+ current assembly, and if that fails, try mscorlib
+
+
+
+
+ Constructor
+
+ The module to search first
+
+
+
+
+
+
+ Thrown by CustomAttributeReader when it fails to parse a custom attribute blob
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ Other exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ Reads custom attributes from the #Blob stream
+
+
+
+
+ Reads a custom attribute
+
+ Reader module
+ Custom attribute constructor
+ Offset of custom attribute in the #Blob stream
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Reader module
+ Custom attribute constructor
+ Offset of custom attribute in the #Blob stream
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ CA blob
+ Custom attribute constructor
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ A reader positioned at the the first byte of the CA blob
+ Custom attribute constructor
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ CA blob
+ Custom attribute constructor
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ A stream positioned at the the first byte of the CA blob
+ Custom attribute constructor
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ A stream positioned at the the first byte of the CA blob
+ Custom attribute constructor
+ Generic parameter context
+ A new instance
+
+
+
+ Reads custom attribute named arguments
+
+ Owner module
+ A reader positioned at the the first byte of the CA blob
+ Number of named arguments to read from
+ Generic parameter context
+ A list of s or null if some error
+ occurred.
+
+
+
+ Gets the enum's underlying type
+
+ An enum type
+ The underlying type or null if we couldn't resolve the type ref
+ If is not an enum or null
+
+
+
+ Converts to a , possibly resolving
+ a
+
+ The type
+ A or null if we couldn't resolve the
+ or if is a type spec
+
+
+
+ A high-level representation of a row in the DeclSecurity table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column DeclSecurity.Action
+
+
+
+
+
+
+
+ From column DeclSecurity.PermissionSet
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the blob data or null if there's none
+
+ Blob data or null
+
+
+
+ Returns the .NET 1.x XML string or null if it's not a .NET 1.x format
+
+
+
+
+
+ A DeclSecurity row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The security action
+ The security attributes (now owned by this)
+
+
+
+
+
+
+ Created from a row in the DeclSecurity table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this DeclSecurity row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ Reads DeclSecurity blobs
+
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ #Blob offset of DeclSecurity signature
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ #Blob offset of DeclSecurity signature
+ Generic parameter context
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity blob
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity blob
+ Generic parameter context///
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity stream that will be owned by us
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity stream that will be owned by us
+ Generic parameter context
+ A list of s
+
+
+
+ Reads the new (.NET 2.0+) DeclSecurity blob format
+
+
+
+
+
+ Reads the old (.NET 1.x) DeclSecurity blob format
+
+
+
+
+
+ See CorHdr.h/CorElementType
+
+
+
+
+
+
+ System.Void
+
+
+ System.Boolean
+
+
+ System.Char
+
+
+ System.SByte
+
+
+ System.Byte
+
+
+ System.Int16
+
+
+ System.UInt16
+
+
+ System.Int32
+
+
+ System.UInt32
+
+
+ System.Int64
+
+
+ System.UInt64
+
+
+ System.Single
+
+
+ System.Double
+
+
+ System.String
+
+
+ Pointer type (*)
+
+
+ ByRef type (&)
+
+
+ Value type
+
+
+ Reference type
+
+
+ Type generic parameter
+
+
+ Multidimensional array ([*], [,], [,,], ...)
+
+
+ Generic instance type
+
+
+ Typed byref
+
+
+ Value array (don't use)
+
+
+ System.IntPtr
+
+
+ System.UIntPtr
+
+
+ native real (don't use)
+
+
+ Function pointer
+
+
+ System.Object
+
+
+ Single-dimension, zero lower bound array ([])
+
+
+ Method generic parameter
+
+
+ Required C modifier
+
+
+ Optional C modifier
+
+
+ Used internally by the CLR (don't use)
+
+
+ Module (don't use)
+
+
+ Sentinel (method sigs only)
+
+
+ Pinned type (locals only)
+
+
+
+ A CIL opcode. If the high byte is 0 or if it's , it's a 1-byte opcode,
+ else it's a two-byte opcode and the highest byte is the first byte of the opcode.
+
+
+
+
+ Extension methods
+
+
+
+
+ Converts a to an
+
+ The code
+ A or null if it's invalid
+
+
+
+ Gets the opcode or if is null
+
+ this
+
+
+
+
+ Gets the operand or null if is null
+
+ this
+
+
+
+
+ Gets the offset or 0 if is null
+
+ this
+
+
+
+
+ Gets the sequence point or null if is null
+
+ this
+
+
+
+
+ Resolves a token
+
+ An object
+ The metadata token
+ A or null if is invalid
+
+
+
+ options
+
+
+
+
+ No option is enabled
+
+
+
+
+ Some fields/methods have an unknown declaring type and don't have a context with
+ that information. If this is enabled, the reader will try to guess it but it doesn't
+ always work. If you get an , try enabling this option.
+
+
+
+
+ Reads code from a DynamicMethod
+
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+ Generic parameter context
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+ Importer
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+ Importer
+ Options
+
+
+
+ Reads the code
+
+
+
+
+
+ Returns the created method. Must be called after .
+
+ A new instance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A CIL method exception handler
+
+
+
+
+ First instruction of try block
+
+
+
+
+ One instruction past the end of try block or null if it ends at the end
+ of the method.
+
+
+
+
+ Start of filter handler or null if none. The end of filter handler is
+ always .
+
+
+
+
+ First instruction of try handler block
+
+
+
+
+ One instruction past the end of try handler block or null if it ends at the end
+ of the method.
+
+
+
+
+ The catch type if is
+
+
+
+
+ Type of exception handler clause
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception clause type
+
+
+
+ Type of exception handler. See CorHdr.h/CorExceptionFlag
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CIL opcode flow control
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A CIL instruction (opcode + operand)
+
+
+
+
+ The opcode
+
+
+
+
+ The opcode operand
+
+
+
+
+ Offset of the instruction in the method body
+
+
+
+
+ PDB sequence point or null if none
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Opcode
+
+
+
+ Constructor
+
+ Opcode
+ The operand
+
+
+
+ Creates a new instruction with no operand
+
+ The opcode
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with an operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a string operand
+
+ The opcode
+ The string
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target operand
+
+ The opcode
+ Target instruction
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target list operand
+
+ The opcode
+ The targets
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The opcode
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The opcode
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a method/field operand
+
+ The opcode
+ The method/field
+ A new instance
+
+
+
+ Creates a new instruction with a field operand
+
+ The opcode
+ The field
+ A new instance
+
+
+
+ Creates a new instruction with a method operand
+
+ The opcode
+ The method
+ A new instance
+
+
+
+ Creates a new instruction with a token operand
+
+ The opcode
+ The token
+ A new instance
+
+
+
+ Creates a new instruction with a method signature operand
+
+ The opcode
+ The method signature
+ A new instance
+
+
+
+ Creates a new instruction with a method parameter operand
+
+ The opcode
+ The method parameter
+ A new instance
+
+
+
+ Creates a new instruction with a method local operand
+
+ The opcode
+ The method local
+ A new instance
+
+
+
+ Creates a ldci4 instruction
+
+ Operand value
+ A new instance
+
+
+
+ Gets the size in bytes of the instruction
+
+
+
+
+
+ Updates with the new stack size
+
+ Current stack size
+
+
+
+ Updates with the new stack size
+
+ Current stack size
+ true if the method has a return value,
+ false otherwise
+
+
+
+ Calculates stack usage
+
+ Updated with number of stack pushes
+ Updated with number of stack pops or -1 if the stack should
+ be cleared.
+
+
+
+ Calculates stack usage
+
+ true if method has a return value
+ Updated with number of stack pushes
+ Updated with number of stack pops or -1 if the stack should
+ be cleared.
+
+
+
+ Checks whether it's one of the leave instructions
+
+
+
+
+ Checks whether it's one of the br instructions
+
+
+
+
+ Checks whether it's one of the brfalse instructions
+
+
+
+
+ Checks whether it's one of the brtrue instructions
+
+
+
+
+ Checks whether it's one of the conditional branch instructions (bcc, brtrue, brfalse)
+
+
+
+
+ Checks whether this is one of the ldc.i4 instructions
+
+
+
+
+ Returns a ldc.i4 instruction's operand
+
+ The integer value
+ isn't one of the
+ ldc.i4 opcodes
+
+
+
+ Checks whether it's one of the ldarg instructions, but does not check
+ whether it's one of the ldarga instructions.
+
+
+
+
+ Checks whether it's one of the ldloc instructions, but does not check
+ whether it's one of the ldloca instructions.
+
+
+
+
+ Checks whether it's one of the starg instructions
+
+
+
+
+ Checks whether it's one of the stloc instructions
+
+
+
+
+ Returns the local if it's a ldloc, stloc or ldloca instruction
+
+ The locals
+ The local or null if it's not a ldloc, stloc or ldloca
+ instruction or if the local doesn't exist.
+
+
+
+ Gets the index of the instruction's parameter operand or -1 if the parameter
+ is missing or if it's not an instruction with a parameter operand.
+
+
+
+
+ Returns a method parameter
+
+ All parameters
+ A parameter or null if it doesn't exist
+
+
+
+ Returns an argument type
+
+ Method signature
+ Declaring type (only needed if it's an instance method)
+ The type or null if it doesn't exist
+
+
+
+ Clone this instance. The and fields
+ are shared by this instance and the created instance.
+
+
+
+
+
+
+
+ Converts instructions to strings
+
+
+
+
+ Converts an instruction to a string
+
+ The instruction
+ The result
+
+
+
+ Gets the instruction's operand as a string
+
+ The instruction
+ The operand as a string
+
+
+
+ Add an instruction's operand to
+
+ Place result here
+ The instruction
+
+
+
+ Add an instruction's operand to
+
+ Place result here
+ The instruction
+ A string that will be added before the operand, if there's
+ an operand.
+
+
+
+ Thrown when invalid data is detected while parsing a .NET method
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ The inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ A collection of s
+
+
+
+
+ Gets the number of locals
+
+
+
+
+ Gets the list of locals
+
+
+
+
+ Gets the N'th local
+
+ The local index
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ All locals that will be owned by this instance
+
+
+
+ Adds a new local and then returns it
+
+ The local that should be added to the list
+ The input is always returned
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A method local
+
+
+
+
+ Gets/sets the type of the local
+
+
+
+
+ Local index
+
+
+
+
+ Gets the name. This property is obsolete, use to get/set the name stored in the PDB file.
+
+
+
+
+ Gets the attributes. This property is obsolete, use to get/set the attributes stored in the PDB file.
+
+
+
+
+ Constructor
+
+ The type
+
+
+
+ Constructor
+
+ The type
+ Name of local
+
+
+
+ Constructor
+
+ The type
+ Name of local
+ Index, should only be used if you don't add it to the locals list
+
+
+
+
+
+
+ Method body base class
+
+
+
+
+ A native method body
+
+
+
+
+ Gets/sets the RVA of the native method body
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ RVA of method body
+
+
+
+ CIL (managed code) body
+
+
+
+
+ Size of a small header
+
+
+
+
+ Gets/sets a flag indicating whether the original max stack value should be used.
+
+
+
+
+ Gets/sets the init locals flag. This is only valid if the method has any locals.
+
+
+
+
+ Gets/sets the size in bytes of the method body header. The instructions immediately follow
+ the header.
+
+
+
+
+ true if it was a small body header ( is 1)
+
+
+
+
+ true if it was a big body header
+
+
+
+
+ Gets/sets max stack value from the fat method header.
+
+
+
+
+ Gets/sets the locals metadata token
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the instructions
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the exception handlers
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the locals
+
+
+
+
+ Gets/sets the PDB method. This is null if no PDB has been loaded or if there's
+ no PDB info for this method.
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the total size of the body in the PE file, including header, IL bytes, and exception handlers.
+ This property returns 0 if the size is unknown.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Init locals flag
+ All instructions. This instance will own the list.
+ All exception handlers. This instance will own the list.
+ All locals. This instance will own the locals in the list.
+
+
+
+ Shorter instructions are converted to the longer form, eg. Ldc_I4_1 is
+ converted to Ldc_I4 with a 1 as the operand.
+
+ All method parameters, including the hidden 'this' parameter
+ if it's an instance method. Use .
+
+
+
+ Optimizes instructions by using the shorter form if possible. Eg. Ldc_I4 1
+ will be replaced with Ldc_I4_1.
+
+
+
+
+ Short branch instructions are converted to the long form, eg. Beq_S is
+ converted to Beq.
+
+
+
+
+ Optimizes branches by using the smallest possible branch
+
+
+
+
+ Updates each instruction's offset
+
+ Total size in bytes of all instructions
+
+
+
+ Reads strings from #US heap
+
+
+
+
+ Reads a string from the #US heap
+
+ String token
+ A string
+
+
+
+ Resolves instruction operands
+
+
+
+
+ Reads a .NET method body (header, locals, instructions, exception handlers)
+
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+ Method header flags, eg. 2 if tiny method
+ Max stack
+ Code size
+ Local variable signature token or 0 if none
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+ Method header flags, eg. 2 if tiny method
+ Max stack
+ Code size
+ Local variable signature token or 0 if none
+ Generic parameter context
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+ Generic parameter context
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+ Generic parameter context
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+ Generic parameter context
+
+
+
+ Initializes the method header
+
+ Header flags, eg. 2 if it's a tiny method
+ Max stack
+ Code size
+ Local variable signature token
+
+
+
+ Reads the method body header, locals, all instructions, and the exception handlers (if any)
+
+ true if it worked, and false if something failed
+
+
+
+ Reads the method header
+
+
+
+
+ Reads the locals
+
+ All locals or null if there are none
+
+
+
+ Reads all instructions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reads all exception handlers
+
+
+
+
+ Creates a CIL body. Must be called after , and can only be
+ called once.
+
+ A new instance
+
+
+
+ Method body reader base class
+
+
+
+ The method reader
+
+
+ All parameters
+
+
+ All locals
+
+
+ All instructions
+
+
+ All exception handlers
+
+
+ First byte after the end of the code
+
+
+ Start offset of method
+
+
+
+ Gets all parameters
+
+
+
+
+ Gets all locals
+
+
+
+
+ Gets all instructions
+
+
+
+
+ Gets all exception handlers
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ The reader
+
+
+
+ Constructor
+
+ The reader
+ Method parameters or null if they're not known yet
+
+
+
+ Sets new locals
+
+ A list of types of all locals or null if none
+
+
+
+ Sets new locals
+
+ A list of types of all locals or null if none
+
+
+
+ Reads all instructions
+
+ Number of instructions to read
+
+
+
+ Reads all instructions
+
+ Size of code
+
+
+
+ Fixes all branch instructions so their operands are set to an
+ instead of an offset.
+
+
+
+
+ Finds an instruction
+
+ Offset of instruction
+ The instruction or null if there's no instruction at .
+
+
+
+ Finds an instruction and throws if it's not present
+
+ Offset of instruction
+ The instruction
+ There's no instruction at
+
+
+
+
+ Reads the next instruction
+
+
+
+
+ Reads the next OpCode from the current position
+
+
+
+
+ Reads the instruction operand (if any)
+
+ The instruction
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a parameter) operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a local) operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a parameter) operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a local) operand
+
+ The current instruction
+ The operand
+
+
+
+ Returns true if it's one of the ldarg/starg instructions that have an operand
+
+ The instruction to check
+
+
+
+ Returns a parameter
+
+ A parameter index
+ A or null if is invalid
+
+
+
+ Returns a local
+
+ A local index
+ A or null if is invalid
+
+
+
+ Add an exception handler if it appears valid
+
+ The exception handler
+ true if it was added, false otherwise
+
+
+
+ Gets the offset of an instruction
+
+ The instruction or null if the offset is the first offset
+ at the end of the method.
+ The instruction offset
+
+
+
+ Restores a 's body with the parsed method instructions
+ and exception handlers
+
+ The method that gets updated with the instructions, locals, and
+ exception handlers.
+
+
+
+ Converts a type address to a . The address can be found in
+ RuntimeTypeHandle.Value and it's the same address you use with the WinDbg SOS command
+ !dumpmt.
+
+
+
+
+ Converts to a .
+
+ Address of type
+ The or null
+
+
+
+ Instruction utility methods
+
+
+
+
+ Shorter instructions are converted to the longer form, eg. Ldc_I4_1 is
+ converted to Ldc_I4 with a 1 as the operand.
+
+ All instructions
+ All locals
+ All method parameters, including the hidden 'this' parameter
+ if it's an instance method. Use .
+
+
+
+ Optimizes instructions by using the shorter form if possible. Eg. Ldc_I4 1
+ will be replaced with Ldc_I4_1.
+
+ All instructions
+
+
+
+ Short branch instructions are converted to the long form, eg. Beq_S is
+ converted to Beq.
+
+ All instructions
+
+
+
+ Optimizes branches by using the smallest possible branch
+
+ All instructions
+
+
+
+ Updates each instruction's offset
+
+ All instructions
+ Total size in bytes of all instructions
+
+
+
+ A CIL opcode
+
+
+
+
+ The opcode name
+
+
+
+
+ The opcode as a enum
+
+
+
+
+ Operand type
+
+
+
+
+ Flow control info
+
+
+
+
+ Opcode type
+
+
+
+
+ Push stack behavior
+
+
+
+
+ Pop stack behavior
+
+
+
+
+ Gets the value which is compatible with
+
+
+
+
+ Gets the size of the opcode. It's either 1 or 2 bytes.
+
+
+
+
+ Creates a new instruction with no operand
+
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with an operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a string operand
+
+ The string
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target operand
+
+ Target instruction
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target list operand
+
+ The targets
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a method/field operand
+
+ The method/field
+ A new instance
+
+
+
+ Creates a new instruction with a field operand
+
+ The field
+ A new instance
+
+
+
+ Creates a new instruction with a method operand
+
+ The method
+ A new instance
+
+
+
+ Creates a new instruction with a token operand
+
+ The token
+ A new instance
+
+
+
+ Creates a new instruction with a method signature operand
+
+ The method signature
+ A new instance
+
+
+
+ Creates a new instruction with a method parameter operand
+
+ The method parameter
+ A new instance
+
+
+
+ Creates a new instruction with a method local operand
+
+ The method local
+ A new instance
+
+
+
+
+
+
+ Contains all valid CIL opcodes
+
+
+
+
+ All one-byte opcodes
+
+
+
+
+ All two-byte opcodes (first byte is 0xFE)
+
+
+
+
+ CIL opcode type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CIL opcode operand type
+
+
+
+ 4-byte relative instruction offset
+
+
+ 4-byte field token ( or )
+
+
+ int32
+
+
+ int64
+
+
+ 4-byte method token (,
+ or )
+
+
+ No operand
+
+
+ Never used
+
+
+ 64-bit real
+
+
+
+
+
+ 4-byte method sig token ()
+
+
+ 4-byte string token (0x70xxxxxx)
+
+
+ 4-byte count N followed by N 4-byte relative instruction offsets
+
+
+ 4-byte token (, ,
+ , , ,
+ or )
+
+
+ 4-byte type token (, or
+ )
+
+
+ 2-byte param/local index
+
+
+ 1-byte relative instruction offset
+
+
+ 1-byte sbyte () or byte (the rest)
+
+
+ 32-bit real
+
+
+ 1-byte param/local index
+
+
+
+ CIL opcode stack behavior
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Event attributes, see CorHdr.h/CorEventAttr
+
+
+
+ event is special. Name describes how.
+
+
+ Runtime(metadata internal APIs) should check name encoding.
+
+
+
+ A high-level representation of a row in the Event table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Event.EventFlags
+
+
+
+
+
+
+
+ From column Event.Name
+
+
+
+ Name
+
+
+
+ From column Event.EventType
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the adder method
+
+
+
+
+ Gets/sets the invoker method
+
+
+
+
+ Gets/sets the remover method
+
+
+
+
+ Gets the other methods
+
+
+
+
+ Initializes , ,
+ and .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reset , , ,
+
+
+
+ true if there are no methods attached to this event
+
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+
+ Gets the full name of the event
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+ An Event row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Type
+
+
+
+ Constructor
+
+ Name
+ Type
+ Flags
+
+
+
+ Created from a row in the Event table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Event row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ A high-level representation of a row in the ExportedType table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always returns false since a does not contain any
+ or .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column ExportedType.Flags
+
+
+
+ Attributes
+
+
+
+ From column ExportedType.TypeDefId
+
+
+
+
+
+
+
+ From column ExportedType.TypeName
+
+
+
+
+
+
+
+ From column ExportedType.TypeNamespace
+
+
+
+
+
+
+
+ From column ExportedType.Implementation
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ true if it's nested within another
+
+
+
+
+ Gets the declaring type, if any
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the layout
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the string format
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit. See also
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if this type has been moved to another assembly
+
+
+
+
+ Resolves the type
+
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ Source module or null
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Converts this instance to a
+
+ A new instance
+
+
+
+
+
+
+ An ExportedType row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Constructor
+
+ Owner module
+ TypeDef ID
+ Type name
+ Type namespace
+ Flags
+ Implementation
+
+
+
+ Created from a row in the ExportedType table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ExportedType row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Field flags, see CorHdr.h/CorFieldAttr
+
+
+
+ member access mask - Use this mask to retrieve accessibility information.
+
+
+ Member not referenceable.
+
+
+ Member not referenceable.
+
+
+ Accessible only by the parent type.
+
+
+ Accessible by sub-types only in this Assembly.
+
+
+ Accessibly by anyone in the Assembly.
+
+
+ Accessible only by type and sub-types.
+
+
+ Accessibly by sub-types anywhere, plus anyone in assembly.
+
+
+ Accessibly by anyone who has visibility to this scope.
+
+
+ Defined on type, else per instance.
+
+
+ Field may only be initialized, not written to after init.
+
+
+ Value is compile time constant.
+
+
+ Field does not have to be serialized when type is remoted.
+
+
+ field is special. Name describes how.
+
+
+ Implementation is forwarded through pinvoke.
+
+
+ Runtime(metadata internal APIs) should check name encoding.
+
+
+ Field has marshalling information.
+
+
+ Field has default.
+
+
+ Field has RVA.
+
+
+
+ A high-level representation of a row in the Field table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ From column Field.Flags
+
+
+
+ Attributes
+
+
+
+ From column Field.Name
+
+
+
+ Name
+
+
+
+ From column Field.Signature
+
+
+
+
+
+
+
+ Gets/sets the field layout offset
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets/sets the field RVA
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets/sets the initial value. Be sure to set to true if
+ you write to this field.
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+
+
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+ Gets/sets the
+
+
+
+
+
+
+
+ true if is not null
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the constant element type or if there's no constant
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets/sets the field type
+
+
+
+
+ Modify field: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the field access
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Returns the full name of this field
+
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+ Updated with size
+ true if is valid, false otherwise
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+ The declaring type of this
+ The field signature of this
+ Updated with size
+ true if is valid, false otherwise
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+ The declaring type of this
+ The field signature of this
+ Size of a pointer
+ Updated with size
+ true if is valid, false otherwise
+
+
+
+
+
+
+ A Field row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Signature
+
+
+
+ Constructor
+
+ Name
+ Signature
+ Flags
+
+
+
+ Created from a row in the Field table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Field row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ File row flags. See CorHdr.h/CorFileFlags
+
+
+
+ This is not a resource file
+
+
+ This is a resource file or other non-metadata-containing file
+
+
+
+ A high-level representation of a row in the File table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column File.Flags
+
+
+
+ Attributes
+
+
+
+ From column File.Name
+
+
+
+ Name
+
+
+
+ From column File.HashValue
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+
+
+
+ A File row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name of file
+ Flags
+ File hash
+
+
+
+ Created from a row in the File table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this File row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Redirects .NET framework assembly references from older to newer versions
+
+
+
+
+ Redirects a .NET Framework assembly from an older version to the correct version
+ loaded at runtime.
+
+ Current assembly reference that might get updated
+ Module using the assembly reference
+
+
+
+ Tries to redirect a .NET Framework assembly from an older version to the correct version
+ loaded at runtime.
+
+ Assembly reference
+ Module using the assembly reference
+ Updated with the redirected assembly if successful
+
+
+
+
+ Redirects a .NET Framework 2.0-3.5 assembly from an older version to the correct version
+ loaded at runtime.
+
+ Current assembly reference that might get updated
+
+
+
+ Redirects a .NET Framework 4.0+ assembly from an older version to the correct version
+ loaded at runtime.
+
+ Current assembly reference that might get updated
+
+
+
+ Tries to redirect a .NET Framework 2.0-3.5 assembly from an older version to the correct version
+ loaded at runtime.
+
+ Assembly reference
+ Updated with the redirected assembly if successful
+
+
+
+
+ Tries to redirect a .NET Framework 4.0+ assembly from an older version to the correct version
+ loaded at runtime.
+
+ Assembly reference
+ Updated with the redirected assembly if successful
+
+
+
+
+ Helps create a name
+
+
+
+
+ Checks whether the assembly name should be included when printing
+ the full type name. The assembly name isn't required in custom attributes
+ when the type already exists in the same module as the CA, or if the type
+ exists in mscorlib.
+
+ The type (TypeDef, TypeRef or ExportedType)
+ or null
+ true if the assembly name must be included, false otherwise
+
+
+
+ Creates type names, method names, etc.
+
+
+
+
+ Checks whether the assembly name should be included when printing the full name.
+ See for more info.
+
+ Owner module
+ The type (TypeDef, TypeRef or ExportedType)
+ or null
+ true if the assembly name must be included, false otherwise
+
+
+
+ Checks whether the assembly name should be included when printing the full name.
+ See for more info.
+
+ Owner module
+ The type (TypeDef, TypeRef or ExportedType)
+ or null
+ If false, don't add an assembly name if it's a type in ,
+ if true, don't add an assembly name if it's a type in or the corlib.
+ true if the assembly name must be included, false otherwise
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The IType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The IType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Property signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Property signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Event type
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Event type
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a field
+
+ Declaring type full name or null if none
+ Name of field
+ Field signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Field full name
+
+
+
+ Returns the full name of a field
+
+ Declaring type full name or null if none
+ Name of field
+ Field signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Field full name
+
+
+
+ Returns the full name of a method
+
+ Declaring type full name or null if none
+ Name of method or null if none
+ Method signature
+ Type generic arguments or null if none
+ Method generic arguments or null if none
+ Generic parameter owner method or null
+ String builder to use or null
+ Method full name
+
+
+
+ Returns the full name of a method
+
+ Declaring type full name or null if none
+ Name of method or null if none
+ Method signature
+ Type generic arguments or null if none
+ Method generic arguments or null if none
+ Generic parameter owner method or null
+ String builder to use or null
+ Method full name
+
+
+
+ Returns the full name of a property sig
+
+ Property sig
+ String builder to use or null
+ Property sig full name
+
+
+
+ Returns the full name of a property sig
+
+ Property sig
+ String builder to use or null
+ Property sig full name
+
+
+
+ Returns the full name of a sig
+
+ Declaring type or null
+ Name or null
+ Method sig
+ Owner method or null
+ String builder to use or null
+ Sig full name
+
+
+
+ Returns the full name of a sig
+
+ Declaring type or null
+ Name or null
+ Method sig
+ Owner method or null
+ String builder to use or null
+ Sig full name
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeRef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeRef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeRef
+ A or null if none found
+
+
+
+ Gets the scope
+
+ The TypeRef
+ The or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeRef
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeDef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeDef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeDef
+ A or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeDef
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSpec
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSpec
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeSpec
+ A or null if none found
+
+
+
+ Gets the scope type
+
+ The TypeSpec
+ The scope type or null if none found
+
+
+
+ Gets the scope
+
+ The TypeSpec
+ The or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeSpec
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ Helps print the name
+ Type generic args or null if none
+ Method generic args or null if none
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ Helps print the name
+ Type generic args or null if none
+ Method generic args or null if none
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSig
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSig
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeSig
+ A or null if none found
+
+
+
+ Gets the scope
+
+ The TypeSig
+ The or null if none found
+
+
+
+ Gets the scope type
+
+ The TypeSig
+ The scope type or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeSig
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The ExportedType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The ExportedType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The ExportedType
+ A or null if none found
+
+
+
+ Gets the scope type
+
+ The ExportedType
+ The scope type or null if none found
+
+
+
+ Gets the scope
+
+ The ExportedType
+ The or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The ExportedType
+ A or null if none found
+
+
+
+
+
+
+ Constructor
+
+ true if it's for generic types, false if generic methods
+
+
+
+ Pushes generic arguments
+
+ The generic arguments
+
+
+
+ Pops generic arguments
+
+ The popped generic arguments
+
+
+
+ Resolves a generic argument
+
+ Generic variable number
+ A or null if none was found
+
+
+
+ Replaces generic type/method var with its generic argument
+
+
+
+
+ Pushes generic arguments
+
+ The generic arguments
+
+
+
+ Pops generic arguments
+
+ The popped generic arguments
+
+
+
+ Pushes generic arguments
+
+ The generic arguments
+
+
+
+ Pops generic arguments
+
+ The popped generic arguments
+
+
+
+ Replaces a generic type/method var with its generic argument (if any). If
+ isn't a generic type/method var or if it can't
+ be resolved, it itself is returned. Else the resolved type is returned.
+
+ Type signature
+ New which is never null unless
+ is null
+
+
+
+ A high-level representation of a row in the GenericParam table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the owner type/method
+
+
+
+
+
+
+
+ Gets the declaring type or null if none or if is
+ not a
+
+
+
+
+
+
+
+ Gets the declaring method or null if none or if is
+ not a
+
+
+
+
+ From column GenericParam.Number
+
+
+
+
+
+
+
+ From column GenericParam.Flags
+
+
+
+ Attributes
+
+
+
+ From column GenericParam.Name
+
+
+
+ Name
+
+
+
+ From column GenericParam.Kind (v1.1 only)
+
+
+
+
+
+
+
+ Gets the generic param constraints
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if is not empty
+
+
+
+
+
+
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets variance (non, contra, co)
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the special constraint
+
+
+
+
+ true if there are no special constraints
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A GenericParam row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The generic param number
+
+
+
+ Constructor
+
+ The generic param number
+ Flags
+
+
+
+ Constructor
+
+ The generic param number
+ Flags
+ Name
+
+
+
+ Created from a row in the GenericParam table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this GenericParam row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ Generic parameter flags. See CorHdr.h/CorGenericParamAttr
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ type argument must be a reference type
+
+
+ type argument must be a value type but not Nullable
+
+
+ type argument must have a public default constructor
+
+
+
+ A high-level representation of a row in the GenericParamConstraint table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the owner generic param
+
+
+
+
+
+
+
+ From column GenericParamConstraint.Constraint
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ A GenericParamConstraintAssembly row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The constraint
+
+
+
+ Created from a row in the GenericParamConstraint table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this GenericParamConstraint row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Generic parameter context
+
+
+
+
+ Type context
+
+
+
+
+ Method context
+
+
+
+
+ true if and are both null
+
+
+
+
+ Creates a new instance and initializes the
+ field to 's
+ and the field to .
+
+ Method
+ A new instance
+
+
+
+ Creates a new instance and initializes the
+ field to and the field
+ to null
+
+ Type
+ A new instance
+
+
+
+ Constructor
+
+ Type context
+
+
+
+ Constructor. The field is set to null and NOT to
+ 's . Use
+ if you want that behavior.
+
+ Method context
+
+
+
+ Constructor
+
+ Type context
+ Method context
+
+
+
+ Resolves assemblies
+
+
+
+
+ Finds and returns an
+
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver or
+ null if the assembly couldn't be found.
+
+
+
+ The table row can be referenced by a MD token
+
+
+
+
+ Returns the metadata token
+
+
+
+
+ Gets/sets the row ID
+
+
+
+
+ All *MD classes implement this interface.
+
+
+
+
+ Gets the original row ID
+
+
+
+
+ An assembly. Implemented by , and
+ .
+
+
+
+
+ The assembly version
+
+
+
+
+ Assembly flags
+
+
+
+
+ Public key or public key token
+
+
+
+
+ Locale, aka culture
+
+
+
+
+ Gets the full name of the assembly but use a public key token
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+ Implemented by and , which are the only
+ valid managed entry point tokens.
+
+
+
+
+ Interface to access a module def/ref
+
+
+
+
+ Type of scope
+
+
+
+
+ It's an instance
+
+
+
+
+ It's a instance
+
+
+
+
+ It's a instance
+
+
+
+
+ Implemented by modules and assemblies
+
+
+
+
+ Gets the scope type
+
+
+
+
+ Gets the scope name
+
+
+
+
+ Interface to get the full name of a type, field, or method
+
+
+
+
+ Gets the full name
+
+
+
+
+ Simple name of implementer
+
+
+
+
+ Implemented by all member refs and types
+
+
+
+
+ Gets the owner module
+
+
+
+
+ Methods to check whether the implementer is a type or a method.
+
+
+
+
+ true if it's a type
+
+
+
+
+ true if it's a method
+
+
+
+
+ Implemented by types, fields, methods, properties, events
+
+
+
+
+ Gets the declaring type
+
+
+
+
+ true if it's a or a that's
+ referencing a field.
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ All member definitions implement this interface: ,
+ , , ,
+ , and .
+
+
+
+
+ Gets the declaring type
+
+
+
+
+ Implemented by the following classes: ,
+ , , ,
+ , , ,
+ and
+
+
+
+
+ Implemented by types and methods
+
+
+
+
+ Gets the number of generic parameters / arguments
+
+
+
+
+ Implemented by fields ( and )
+
+
+
+
+ Gets/sets the field signature
+
+
+
+
+ Implemented by methods (, and )
+
+
+
+
+ Method signature
+
+
+
+
+ Implemented by tables that can be a token in the ldtoken instruction
+
+
+
+
+ The table row can be referenced by a coded token
+
+
+
+
+ TypeDefOrRef coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ HasConstant coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets/sets the constant value
+
+
+
+
+ HasCustomAttribute coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+ true if is not empty
+
+
+
+
+ HasFieldMarshal coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets/sets the marshal type
+
+
+
+
+ true if is not null
+
+
+
+
+ HasDeclSecurity coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets the permission sets
+
+
+
+
+ true if is not empty
+
+
+
+
+ MemberRefParent coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ HasSemantic coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ MethodDefOrRef coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ MemberForwarded coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets/sets the impl map
+
+
+
+
+ true if is not null
+
+
+
+
+ Implementation coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ CustomAttributeType coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ ResolutionScope coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ TypeOrMethodDef coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets the generic parameters
+
+
+
+
+ true if is not empty
+
+
+
+
+ HasCustomDebugInformation interface
+
+
+
+
+ The custom debug information tag
+
+
+
+
+ Gets the custom debug infos
+
+
+
+
+ true if is not empty
+
+
+
+
+ Access to .NET core library's simple types
+
+
+
+
+ Gets a System.Void
+
+
+
+
+ Gets a System.Boolean
+
+
+
+
+ Gets a System.Char
+
+
+
+
+ Gets a System.SByte
+
+
+
+
+ Gets a System.Byte
+
+
+
+
+ Gets a System.Int16
+
+
+
+
+ Gets a System.UInt16
+
+
+
+
+ Gets a System.Int32
+
+
+
+
+ Gets a System.UInt32
+
+
+
+
+ Gets a System.Int64
+
+
+
+
+ Gets a System.UInt64
+
+
+
+
+ Gets a System.Single
+
+
+
+
+ Gets a System.Double
+
+
+
+
+ Gets a System.String
+
+
+
+
+ Gets a System.TypedReference
+
+
+
+
+ Gets a System.IntPtr
+
+
+
+
+ Gets a System.UIntPtr
+
+
+
+
+ Gets a System.Object
+
+
+
+
+ Gets the assembly reference to the core library
+
+
+
+
+ Gets a that references a type in the core library assembly
+
+ Namespace of type (eg. "System")
+ Name of type
+ A instance. This instance may be a cached instance.
+
+
+
+ Custom attribute interface. Implemented by and
+
+
+
+
+
+ Gets the attribute type
+
+
+
+
+ Gets the full name of the attribute type
+
+
+
+
+ Gets all named arguments (field and property values)
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all s that are field arguments
+
+
+
+
+ Gets all s that are property arguments
+
+
+
+
+ Interface to decrypt methods
+
+
+
+
+ Gets the method's body
+
+ Method rid
+ The found in the method's Method row
+ The method's parameters
+ Generic parameter context
+ Updated with the method's if this
+ method returns true
+ true if the method body was decrypted, false if the method isn't
+ encrypted and the default body reader code should be used.
+
+
+
+ Interface to decrypt strings
+
+
+
+
+ Reads a string
+
+ String token
+ A string or null if we should read it from the #US heap
+
+
+
+ events
+
+
+
+
+ An error was detected. An exception should normally be thrown but the error
+ can be ignored.
+
+
+
+
+ Just a warning and can be ignored.
+
+
+
+
+ A normal message
+
+
+
+
+ A verbose message
+
+
+
+
+ A very verbose message
+
+
+
+
+ Simple logger
+
+
+
+
+ Log something
+
+ Caller or null
+ Logger event
+ Format
+ Arguments
+
+
+
+ true if this event is ignored. If the event is ignored, the caller can
+ choose not to call . This is useful if it can take time to
+ prepare the message.
+
+ The logger event
+
+
+
+ Dummy logger which ignores all messages, but can optionally throw on errors.
+
+
+
+
+ It ignores everything and doesn't throw anything.
+
+
+
+
+ Throws a on errors, but ignores anything else.
+
+
+
+
+ Constructor
+
+ If non-null, this exception type is thrown on
+ errors. It must have a public constructor that takes a as the only
+ argument.
+
+
+
+
+
+
+
+
+
+ A high-level representation of a row in the ImplMap table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+ From column ImplMap.MappingFlags
+
+
+
+ Attributes
+
+
+
+ From column ImplMap.ImportName
+
+
+
+ Name
+
+
+
+ From column ImplMap.ImportScope
+
+
+
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the char set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets best fit
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets throw on unmappable char
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets calling convention
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Checks whether this is a certain P/Invoke method
+
+ Name of the DLL
+ Name of the function within the DLL
+ true if it's the specified P/Invoke method, else false
+
+
+
+ Checks whether this is a certain P/Invoke method
+
+ Name of the DLL
+ Name of the function within the DLL
+ Treat as Windows
+ true if it's the specified P/Invoke method, else false
+
+
+
+ An ImplMap row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Scope
+ Name
+ Flags
+
+
+
+ Created from a row in the ImplMap table
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ImplMap row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ options
+
+
+
+
+ Use s whenever possible if the is located
+ in this module.
+
+
+
+
+ Use s whenever possible if the is located
+ in this module.
+
+
+
+
+ Use s whenever possible if the is located
+ in this module.
+
+
+
+
+ Use s, s and s
+ whenever possible if the definition is located in this module.
+
+
+
+
+
+
+
+ Don't set this flag. For internal use only.
+
+
+
+
+ Re-maps entities that were renamed in the target module
+
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Overrides default behavior of
+ May be used to use reference assemblies for resolution, for example.
+
+ to create for.
+ or null to use default 's type resolution
+
+
+
+ Imports s, s, s
+ and s as references
+
+
+
+
+ Constructor
+
+ The module that will own all references
+
+
+
+ Constructor
+
+ The module that will own all references
+ Generic parameter context
+
+
+
+ Constructor
+
+ The module that will own all references
+ Importer options
+
+
+
+ Constructor
+
+ The module that will own all references
+ Importer options
+ Generic parameter context
+
+
+
+ Constructor
+
+ The module that will own all references
+ Importer options
+ Generic parameter context
+ Mapper for renamed entities
+
+
+
+ Imports a as a . If it's a type that should be
+ the declaring type of a field/method reference, call instead.
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a . Should be called if it's the
+ declaring type of a method/field reference. See also
+
+ The type
+
+
+
+
+ Imports a as a
+
+ The type
+ A list of all required modifiers or null
+ A list of all optional modifiers or null
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The type
+ A list of all required modifiers or null
+ A list of all optional modifiers or null
+ The imported type or null if is invalid
+
+
+
+ Imports a as a . This will be either
+ a or a .
+
+ The method
+ The imported method or null if is invalid
+ or if we failed to import the method
+
+
+
+ Imports a as a . This will be either
+ a or a .
+
+ The method
+ Always verify method signature to make sure the
+ returned reference matches the metadata in the source assembly
+ The imported method or null if is invalid
+ or if we failed to import the method
+
+
+
+ Imports a as a
+
+ The field
+ The imported field or null if is invalid
+ or if we failed to import the field
+
+
+
+ Imports a as a
+
+ The field
+ Always verify field signature to make sure the
+ returned reference matches the metadata in the source assembly
+ The imported field or null if is invalid
+ or if we failed to import the field
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a as an
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a as an
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The member ref
+ The imported member ref or null if is invalid
+
+
+
+ A high-level representation of a row in the InterfaceImpl table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column InterfaceImpl.Interface
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ An InterfaceImpl row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The interface the type implements
+
+
+
+ Created from a row in the InterfaceImpl table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this InterfaceImpl row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Resolves types, methods, fields
+
+
+
+
+ Resolves types
+
+
+
+
+ Resolves a type
+
+ The type
+ The module that needs to resolve the type or null
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves fields and methods
+
+
+
+
+ Resolves a method or a field
+
+ A method/field reference
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Resolves tokens
+
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Interface to get the full name of a type
+
+
+
+
+ true if it's a value type
+
+
+
+
+ Returns the name of this type
+
+
+
+
+ Returns the reflection name of this type
+
+
+
+
+ Returns the namespace of this type
+
+
+
+
+ Returns the reflection namespace of this type
+
+
+
+
+ Returns the reflection name of this type. See also .
+
+
+
+
+ Returns the reflection name of this type, and includes the assembly name where the
+ type is located. It can be passed to to
+ load the type.
+
+
+
+
+ Gets the assembly where this type is defined
+
+
+
+
+ Gets the scope, which is different from since it
+ can differentiate between modules within the same assembly.
+
+
+
+
+ Gets the type whose scope is returned by and whose assembly
+ is returned by . This is always a
+ , or null. It can also be a
+ nested .
+ For example, if this type is a System.String&, then this value is a System.String.
+ If it's a generic instance type (eg. List<int>), then the generic type is
+ returned (eg. List<T>). In other words, the first or
+ that is found (without searching generic arguments) is returned.
+
+
+
+
+ true if it's an integer or a floating point type
+
+
+
+
+ Implemented by types and calling convention signatures.
+
+
+
+
+ true if this contains a or a .
+
+
+
+
+ Finds s
+
+
+
+
+ Finds a
+
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing or null if it wasn't found.
+
+
+
+ Finds a . 's scope (i.e., module or
+ assembly) is ignored when looking up the type.
+
+ The type ref
+ An existing or null if it wasn't found.
+
+
+
+ Interface to access a local or a parameter
+
+
+
+
+ Gets the variable type
+
+
+
+
+ Gets the 0-based position
+
+
+
+
+ Gets/sets the variable name
+
+
+
+
+ A high-level representation of a row in the ManifestResource table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column ManifestResource.Offset
+
+
+
+
+
+
+
+ From column ManifestResource.Flags
+
+
+
+ Attributes
+
+
+
+ From column ManifestResource.Name
+
+
+
+ Name
+
+
+
+ From column ManifestResource.Implementation
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ A ManifestResource row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+ Implementation
+
+
+
+ Constructor
+
+ Name
+ Implementation
+ Flags
+
+
+
+ Constructor
+
+ Name
+ Implementation
+ Flags
+ Offset
+
+
+
+ Created from a row in the ManifestResource table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ManifestResource row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ ManifestResource flags. See CorHdr.h/CorManifestResourceFlags
+
+
+
+
+
+
+ The Resource is exported from the Assembly.
+
+
+ The Resource is private to the Assembly.
+
+
+
+ Reads s
+
+
+
+
+ Reads a from the #Blob heap
+
+ Module
+ Blob offset
+ A new instance
+
+
+
+ Reads a from the #Blob heap
+
+ Module
+ Blob offset
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ Marshal data
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ Marshal data
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ A reader that will be owned by us
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ A reader that will be owned by us
+ Generic parameter context
+ A new instance
+
+
+
+ Base class of all marshal types
+
+
+
+
+ The native type
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+ Native type
+
+
+
+
+
+
+ Contains the raw marshal blob data
+
+
+
+
+ Gets/sets the raw data
+
+
+
+
+ Constructor
+
+ Raw data
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the size
+
+
+
+
+ true if is valid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Size
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the variant type
+
+
+
+
+ Gets/sets the user-defined sub type (it's usually null)
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Variant type
+
+
+
+ Constructor
+
+ User-defined sub type
+
+
+
+ Constructor
+
+ Variant type
+ User-defined sub type
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the element type
+
+
+
+
+ Gets/sets the size
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Size
+
+
+
+ Constructor
+
+ Size
+ Element type
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the element type
+
+
+
+
+ Gets/sets the parameter number
+
+
+
+
+ Gets/sets the size of the array
+
+
+
+
+ Gets/sets the flags
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ true if ntaSizeParamIndexSpecified bit is set, false if it's not
+ set or if is invalid.
+
+
+
+
+ true if ntaSizeParamIndexSpecified bit is not set, false if it's
+ set or if is invalid.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Element type
+
+
+
+ Constructor
+
+ Element type
+ Parameter number
+
+
+
+ Constructor
+
+ Element type
+ Parameter number
+ Number of elements
+
+
+
+ Constructor
+
+ Element type
+ Parameter number
+ Number of elements
+ Flags
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the GUID string
+
+
+
+
+ Gets/sets the native type name string
+
+
+
+
+ Gets/sets the custom marshaler
+
+
+
+
+ Gets/sets the cookie string
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ GUID string
+
+
+
+ Constructor
+
+ GUID string
+ Native type name string
+
+
+
+ Constructor
+
+ GUID string
+ Native type name string
+ Custom marshaler name string
+
+
+
+ Constructor
+
+ GUID string
+ Native type name string
+ Custom marshaler name string
+ Cookie string
+
+
+
+
+
+
+ A , or a
+ marshal type
+
+
+
+
+ Gets/sets the IID parameter index
+
+
+
+
+ true if is valid
+
+
+
+
+ Constructor
+
+ Native type
+
+
+
+ Constructor
+
+ Native type
+ IID parameter index
+
+
+
+
+
+
+ Metadata token
+
+
+
+
+ Mask to get the rid from a raw metadata token
+
+
+
+
+ Max rid value
+
+
+
+
+ Number of bits to right shift a raw metadata token to get the table index
+
+
+
+
+ Returns the table type
+
+
+
+
+ Returns the row id
+
+
+
+
+ Returns the raw token
+
+
+
+
+ Returns true if it's a null token
+
+
+
+
+ Constructor
+
+ Raw token
+
+
+
+ Constructor
+
+ Raw token
+
+
+
+ Constructor
+
+ The table type
+ Row id
+
+
+
+ Constructor
+
+ The table type
+ Row id
+
+
+
+ Returns the rid (row ID)
+
+ A raw metadata token
+ A rid
+
+
+
+ Returns the rid (row ID)
+
+ A raw metadata token
+ A rid
+
+
+
+ Returns the table
+
+ A raw metadata token
+ A metadata table index
+
+
+
+ Returns the table
+
+ A raw metadata token
+ A metadata table index
+
+
+
+ Gets the token as a raw 32-bit signed integer
+
+
+
+
+ Gets the token as a raw 32-bit unsigned integer
+
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Represents the #Blob stream
+
+
+
+
+
+
+
+
+
+
+ Reads data
+
+ Offset of data
+ The data or null if invalid offset
+
+
+
+ Reads data just like , but returns an empty array if
+ offset is invalid
+
+ Offset of data
+ The data
+
+
+
+ Creates a reader that can access a blob
+
+ Offset of blob
+ A new stream
+
+
+
+ Creates a reader that can access a blob or returns false on failure
+
+ Offset of blob
+ Updated with the reader
+
+
+
+
+ Contains all possible coded token classes
+
+
+
+ TypeDefOrRef coded token
+
+
+ HasConstant coded token
+
+
+ HasCustomAttribute coded token
+
+
+ HasFieldMarshal coded token
+
+
+ HasDeclSecurity coded token
+
+
+ MemberRefParent coded token
+
+
+ HasSemantic coded token
+
+
+ MethodDefOrRef coded token
+
+
+ MemberForwarded coded token
+
+
+ Implementation coded token
+
+
+ CustomAttributeType coded token
+
+
+ ResolutionScope coded token
+
+
+ TypeOrMethodDef coded token
+
+
+ HasCustomDebugInformation coded token
+
+
+
+ Returns all types of tables
+
+
+
+
+ Returns the number of bits that is used to encode table type
+
+
+
+
+ Constructor
+
+ Number of bits used to encode token type
+ All table types
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+ true if successful
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+ true if successful
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token or 0 on failure
+
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token or 0 on failure
+
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token
+ true if successful
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token
+ true if successful
+
+
+
+ Info about one column in a MD table
+
+
+
+
+ Gets the column index
+
+
+
+
+ Returns the column offset within the table row
+
+
+
+
+ Returns the column size
+
+
+
+
+ Returns the column name
+
+
+
+
+ Returns the ColumnSize enum value
+
+
+
+
+ Constructor
+
+ Column index
+ The column name
+ Column size
+
+
+
+ Constructor
+
+ Column index
+ The column name
+ Column size
+ Offset of column
+ Size of column
+
+
+
+ Reads the column
+
+ A reader positioned on this column
+ The column value
+
+
+
+ Writes a column
+
+ The writer position on this column
+ The column value
+
+
+
+ MD table column size
+
+
+
+ RID into Module table
+
+
+ RID into TypeRef table
+
+
+ RID into TypeDef table
+
+
+ RID into FieldPtr table
+
+
+ RID into Field table
+
+
+ RID into MethodPtr table
+
+
+ RID into Method table
+
+
+ RID into ParamPtr table
+
+
+ RID into Param table
+
+
+ RID into InterfaceImpl table
+
+
+ RID into MemberRef table
+
+
+ RID into Constant table
+
+
+ RID into CustomAttribute table
+
+
+ RID into FieldMarshal table
+
+
+ RID into DeclSecurity table
+
+
+ RID into ClassLayout table
+
+
+ RID into FieldLayout table
+
+
+ RID into StandAloneSig table
+
+
+ RID into EventMap table
+
+
+ RID into EventPtr table
+
+
+ RID into Event table
+
+
+ RID into PropertyMap table
+
+
+ RID into PropertyPtr table
+
+
+ RID into Property table
+
+
+ RID into MethodSemantics table
+
+
+ RID into MethodImpl table
+
+
+ RID into ModuleRef table
+
+
+ RID into TypeSpec table
+
+
+ RID into ImplMap table
+
+
+ RID into FieldRVA table
+
+
+ RID into ENCLog table
+
+
+ RID into ENCMap table
+
+
+ RID into Assembly table
+
+
+ RID into AssemblyProcessor table
+
+
+ RID into AssemblyOS table
+
+
+ RID into AssemblyRef table
+
+
+ RID into AssemblyRefProcessor table
+
+
+ RID into AssemblyRefOS table
+
+
+ RID into File table
+
+
+ RID into ExportedType table
+
+
+ RID into ManifestResource table
+
+
+ RID into NestedClass table
+
+
+ RID into GenericParam table
+
+
+ RID into MethodSpec table
+
+
+ RID into GenericParamConstraint table
+
+
+ RID into Document table
+
+
+ RID into MethodDebugInformation table
+
+
+ RID into LocalScope table
+
+
+ RID into LocalVariable table
+
+
+ RID into LocalConstant table
+
+
+ RID into ImportScope table
+
+
+ RID into StateMachineMethod table
+
+
+ RID into CustomDebugInformation table
+
+
+ 8-bit byte
+
+
+ 16-bit signed int
+
+
+ 16-bit unsigned int
+
+
+ 32-bit signed int
+
+
+ 32-bit unsigned int
+
+
+ Index into #Strings stream
+
+
+ Index into #GUID stream
+
+
+ Index into #Blob stream
+
+
+ TypeDefOrRef encoded token
+
+
+ HasConstant encoded token
+
+
+ HasCustomAttribute encoded token
+
+
+ HasFieldMarshal encoded token
+
+
+ HasDeclSecurity encoded token
+
+
+ MemberRefParent encoded token
+
+
+ HasSemantic encoded token
+
+
+ MethodDefOrRef encoded token
+
+
+ MemberForwarded encoded token
+
+
+ Implementation encoded token
+
+
+ CustomAttributeType encoded token
+
+
+ ResolutionScope encoded token
+
+
+ TypeOrMethodDef encoded token
+
+
+ HasCustomDebugInformation encoded token
+
+
+
+ See COMIMAGE_FLAGS_XXX in CorHdr.h in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_ILONLY in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_32BITREQUIRED in the Windows SDK
+
+
+
+
+ Set if a native header exists (COMIMAGE_FLAGS_IL_LIBRARY)
+
+
+
+
+ See COMIMAGE_FLAGS_STRONGNAMESIGNED in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_NATIVE_ENTRYPOINT in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_TRACKDEBUGDATA in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_32BITPREFERRED in the Windows SDK
+
+
+
+
+ Used when a #~ stream is present in the metadata
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets a rid list (eg. field list)
+
+ Source table, eg. TypeDef
+ Row ID in
+ Column index in , eg. 4 for TypeDef.FieldList
+ Destination table, eg. Field
+ A new instance
+
+
+
+
+
+
+ A custom .NET metadata stream
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of metadata
+ The stream header
+
+
+
+ .NET metadata stream
+
+
+
+
+ Reader that can access the whole stream.
+
+ NOTE: Always copy this field to a local variable before using it since it must be thread safe.
+
+
+
+
+ null if it wasn't present in the file
+
+
+
+
+
+
+
+
+
+
+ Gets the length of this stream in the metadata
+
+
+
+
+ Gets the stream header
+
+
+
+
+ Gets the name of the stream
+
+
+
+
+ Gets a data reader that can read the full stream
+
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of metadata
+ The stream header
+
+
+
+ Called after gets recreated
+
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Checks whether an index is valid
+
+ The index
+ true if the index is valid
+
+
+
+ Check whether an offset is within the stream
+
+ Stream offset
+ true if the offset is valid
+
+
+
+ Check whether an offset is within the stream
+
+ Stream offset
+ Size of data
+ true if the offset is valid
+
+
+
+ Base class of #US, #Strings, #Blob, and #GUID classes
+
+
+
+
+
+
+
+
+
+
+ Initializes .NET table row sizes
+
+
+
+
+ Initializes the table sizes
+
+ true if #Strings size >= 0x10000
+ true if #GUID size >= 0x10000
+ true if #Blob size >= 0x10000
+ Count of rows in each table
+ Count of rows in each table (debug tables)
+
+
+
+ Creates the table infos
+
+ Major table version
+ Minor table version
+ All table infos (not completely initialized)
+
+
+
+ Creates the table infos
+
+ Major table version
+ Minor table version
+ Initialized to max present tables (eg. 42 or 45)
+ All table infos (not completely initialized)
+
+
+
+ Used when a #- stream is present in the metadata
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Converts a logical Field rid to a physical Field rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Method rid to a physical Method rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Param rid to a physical Param rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Event rid to a physical Event rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Property rid to a physical Property rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets a rid list (eg. field list)
+
+ Source table, eg. TypeDef
+ Row ID in
+ Column index in , eg. 4 for TypeDef.FieldList
+ Destination table, eg. Field
+ A new instance
+
+
+
+
+
+
+ Linear searches the table (O(n)) for a rid whose key column at index
+ is equal to .
+
+ Table to search
+ Key column index
+ Key
+ The rid of the found row, or 0 if none found
+
+
+
+
+
+
+ Represents the #GUID stream
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Read a
+
+ Index into this stream
+ A or null if is 0 or invalid
+
+
+
+ Heap type. The values are set in stone by MS. Don't change.
+
+
+
+ #Strings heap
+
+
+ #GUID heap
+
+
+ #Blob heap
+
+
+ #US heap
+
+
+
+ Represents the IMAGE_COR20_HEADER structure
+
+
+
+
+ Returns true if it has a native header
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.cb field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.MajorRuntimeVersion field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.MinorRuntimeVersion field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.Metadata field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.Flags field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.EntryPointToken/EntryPointTokenRVA field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.Resources field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.StrongNameSignature field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.CodeManagerTable field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.VTableFixups field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.ExportAddressTableJumps field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.ManagedNativeHeader field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Reads metadata table columns
+
+
+
+
+ Reads a column
+
+ The table to read from
+ Table row id
+ The column to read
+ Result
+ true if was updated, false if
+ the column should be read from the original table.
+
+
+
+ Reads table rows
+
+ Raw row
+
+
+
+ Reads a table row or returns false if the row should be read from the original table
+
+ Row id
+ The row
+
+
+
+
+ Version strings found in the meta data header
+
+
+
+
+ MS CLR 1.0 version string (.NET 1.0)
+
+
+
+
+ MS CLR 1.0 version string (.NET 1.0). This is an incorrect version that shouldn't be used.
+
+
+
+
+ MS CLR 1.0 version string (.NET 1.0). This is an incorrect version that shouldn't be used.
+
+
+
+
+ MS CLR 1.0 version string (.NET 1.0). This is an incorrect version that shouldn't be used.
+
+
+
+
+ MS CLR 1.1 version string (.NET 1.1)
+
+
+
+
+ MS CLR 2.0 version string (.NET 2.0-3.5)
+
+
+
+
+ MS CLR 4.0 version string (.NET 4.0-4.5)
+
+
+
+
+ MS CLR 1.0 any version
+
+
+
+
+ MS CLR 1.0 any version
+
+
+
+
+ MS CLR 1.1 any version
+
+
+
+
+ MS CLR 2.0 any version
+
+
+
+
+ MS CLR 4.0 any version
+
+
+
+
+ ECMA 2002 version string
+
+
+
+
+ ECMA 2005 version string
+
+
+
+
+ Portable PDB v1.0
+
+
+
+
+ MDStream flags
+
+
+
+ #Strings stream is big and requires 4 byte offsets
+
+
+ #GUID stream is big and requires 4 byte offsets
+
+
+ #Blob stream is big and requires 4 byte offsets
+
+
+
+
+
+
+
+
+ Extra data follows the row counts
+
+
+ Set if certain tables can contain deleted rows. The name column (if present) is set to "_Deleted"
+
+
+
+ A MD table (eg. Method table)
+
+
+
+
+
+
+
+
+
+
+ Gets the table
+
+
+
+
+ Gets the name of this table
+
+
+
+
+ Returns total number of rows
+
+
+
+
+ Gets the total size in bytes of one row in this table
+
+
+
+
+ Returns all the columns
+
+
+
+
+ Returns true if there are no valid rows
+
+
+
+
+ Returns info about this table
+
+
+
+
+ Constructor
+
+ The table
+ Number of rows in this table
+ Info about this table
+
+
+
+ Checks whether the row exists
+
+ Row ID
+
+
+
+ Checks whether the row does not exist
+
+ Row ID
+
+
+
+
+
+
+ Reads .NET metadata
+
+
+
+
+ true if the compressed (normal) metadata is used, false if the non-compressed
+ (Edit N' Continue) metadata is used. This can be false even if the table stream
+ is #~ but that's very uncommon.
+
+
+
+
+ true if this is standalone Portable PDB metadata
+
+
+
+
+ Gets the .NET header
+
+
+
+
+ Gets the version found in the metadata header. The major version number is in the high 16 bits
+ and the lower version number is in the low 16 bits.
+
+
+
+
+ Gets the version string found in the metadata header
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the metadata header
+
+
+
+
+ Returns the #Strings stream or a default empty one if it's not present
+
+
+
+
+ Returns the #US stream or a default empty one if it's not present
+
+
+
+
+ Returns the #Blob stream or a default empty one if it's not present
+
+
+
+
+ Returns the #GUID stream or a default empty one if it's not present
+
+
+
+
+ Returns the #~ or #- tables stream
+
+
+
+
+ Returns the #Pdb stream or null if it's not a standalone portable PDB file
+
+
+
+
+ Gets all streams
+
+
+
+
+ Gets a list of all the valid TypeDef rids. It's usually every rid in the
+ TypeDef table, but could be less if a type has been deleted.
+
+
+
+
+ Gets a list of all the valid ExportedType rids. It's usually every rid in the
+ ExportedType table, but could be less if a type has been deleted.
+
+
+
+
+ Gets the Field rid list
+
+ TypeDef rid
+ A new instance
+
+
+
+ Gets the Method rid list
+
+ TypeDef rid
+ A new instance
+
+
+
+ Gets the Param rid list
+
+ Method rid
+ A new instance
+
+
+
+ Gets the Event rid list
+
+ EventMap rid
+ A new instance
+
+
+
+ Gets the Property rid list
+
+ PropertyMap rid
+ A new instance
+
+
+
+ Finds all InterfaceImpl rids owned by
+
+ Owner TypeDef rid
+ A instance containing the valid InterfaceImpl rids
+
+
+
+ Finds all GenericParam rids owned by in table
+
+ A TypeOrMethodDef table
+ Owner rid
+ A instance containing the valid GenericParam rids
+
+
+
+ Finds all GenericParamConstraint rids owned by
+
+ Owner GenericParam rid
+ A instance containing the valid GenericParamConstraint rids
+
+
+
+ Finds all CustomAttribute rids owned by in table
+
+ A HasCustomAttribute table
+ Owner rid
+ A instance containing the valid CustomAttribute rids
+
+
+
+ Finds all DeclSecurity rids owned by in table
+
+ A HasDeclSecurity table
+ Owner rid
+ A instance containing the valid DeclSecurity rids
+
+
+
+ Finds all MethodSemantics rids owned by in table
+
+ A HasSemantic table
+ Owner rid
+ A instance containing the valid MethodSemantics rids
+
+
+
+ Finds all MethodImpl rids owned by
+
+ Owner TypeDef rid
+ A instance containing the valid MethodImpl rids
+
+
+
+ Finds a ClassLayout rid
+
+ Owner TypeDef rid
+ The ClassLayout rid or 0 if is invalid
+ or if it has no row in the ClassLayout table.
+
+
+
+ Finds a FieldLayout rid
+
+ Owner Field rid
+ The FieldLayout rid or 0 if is invalid
+ or if it has no row in the FieldLayout table.
+
+
+
+ Finds a FieldMarshal rid
+
+ A HasFieldMarshal table
+ Owner rid
+ The FieldMarshal rid or 0 if is invalid
+ or if it has no row in the FieldMarshal table.
+
+
+
+ Finds a FieldRVA rid
+
+ Owner Field rid
+ The FieldRVA rid or 0 if is invalid
+ or if it has no row in the FieldRVA table.
+
+
+
+ Finds an ImplMap rid
+
+ A MemberForwarded table
+ Owner rid
+ The ImplMap rid or 0 if is invalid
+ or if it has no row in the ImplMap table.
+
+
+
+ Finds a NestedClass rid
+
+ Owner TypeDef rid
+ The NestedClass rid or 0 if is invalid
+ or if it has no row in the NestedClass table.
+
+
+
+ Finds an EventMap rid
+
+ Owner TypeDef rid
+ The EventMap rid or 0 if is invalid
+ or if it has no row in the EventMap table.
+
+
+
+ Finds a PropertyMap rid
+
+ Owner TypeDef rid
+ The PropertyMap rid or 0 if is invalid
+ or if it has no row in the PropertyMap table.
+
+
+
+ Finds a Constant rid
+
+ A HasConstant table
+ Owner rid
+ The Constant rid or 0 if is invalid
+ or if it has no row in the Constant table.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Field rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Method rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Event rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Property rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeOrMethodDef rid
+
+ A GenericParam rid
+ The owner TypeOrMethodDef rid or 0 if is
+ invalid or if it has no owner.
+
+
+
+ Returns the owner GenericParam rid
+
+ A GenericParamConstraint rid
+ The owner GenericParam rid or 0 if is
+ invalid or if it has no owner.
+
+
+
+ Returns the owner Method rid
+
+ A Param rid
+ The owner Method rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Gets a list of all nested classes owned by
+
+ A TypeDef rid
+ A new instance
+
+
+
+ Gets a list of all non-nested classes. A type is a non-nested type if
+ returns an empty list.
+
+ A new instance
+
+
+
+ Finds all LocalScope rids owned by
+
+ Owner Method rid
+ A instance containing the valid LocalScope rids
+
+
+
+ Gets the StateMachineMethod rid or 0 if it's not a state machine method
+
+ Owner Method rid
+
+
+
+
+ Finds all CustomDebugInformation rids owned by in table
+
+ A HasCustomDebugInformation table
+ Owner rid
+ A instance containing the valid CustomDebugInformation rids
+
+
+
+ Disposes of this instance
+
+
+
+
+ Common base class for #~ and #- metadata classes
+
+
+
+
+ The PE image
+
+
+
+
+ The .NET header
+
+
+
+
+ The MD header
+
+
+
+
+ The #Strings stream
+
+
+
+
+ The #US stream
+
+
+
+
+ The #Blob stream
+
+
+
+
+ The #GUID stream
+
+
+
+
+ The #~ or #- stream
+
+
+
+
+ The #Pdb stream
+
+
+
+
+ All the streams that are present in the PE image
+
+
+
+ true if this is standalone Portable PDB metadata
+
+
+
+ Sorts a table by key column
+
+
+
+
+ Remembers rid and key
+
+
+
+
+ Constructor
+
+ Row ID
+ Key
+
+
+
+ Constructor
+
+ The MD table
+ Index of key column
+
+
+
+ Binary searches for a row with a certain key
+
+ The key
+ The row or 0 if not found
+
+
+
+ Find all rids that contain
+
+ The key
+ A new instance
+
+
+
+ Constructor
+
+ The PE image
+ The .NET header
+ The MD header
+
+
+
+ Initializes the metadata, tables, streams
+
+
+
+
+ Creates empty heap objects if they're not present in the metadata
+
+
+
+
+ Called by
+
+
+
+
+ Binary searches the table for a rid whose key column at index
+ is equal to .
+
+ Table to search
+ Key column index
+ Key
+ The rid of the found row, or 0 if none found
+
+
+
+ Finds all rows owned by in table
+ whose index is
+
+ Table to search
+ Key column index
+ Key
+ A instance
+
+
+
+ Finds all rows owned by in table
+ whose index is . Should be called if
+ could be unsorted.
+
+ Table to search
+ Key column index
+ Key
+ A instance
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Low level access to a .NET file's metadata
+
+
+
+
+ Create a instance
+
+ The PE image
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ Runtime reader kind
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ Runtime reader kind
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ Runtime reader kind
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Create a standalone portable PDB instance
+
+ Metadata stream
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Represents the .NET metadata header
+
+ IMAGE_COR20_HEADER.Metadata points to this header
+
+
+
+ Returns the signature (should be 0x424A5342)
+
+
+
+
+ Returns the major version
+
+
+
+
+ Returns the minor version
+
+
+
+
+ Returns the reserved dword (pointer to extra header data)
+
+
+
+
+ Returns the version string length value
+
+
+
+
+ Returns the version string
+
+
+
+
+ Returns the offset of STORAGEHEADER
+
+
+
+
+ Returns the flags (reserved)
+
+
+
+
+ Returns the reserved byte (padding)
+
+
+
+
+ Returns the number of streams
+
+
+
+
+ Returns all stream headers
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Runtime reader kind
+ Verify section
+ Thrown if verification fails
+
+
+
+ #Pdb stream
+
+
+
+
+ Gets the PDB id
+
+
+
+
+ Gets the entry point token or 0
+
+
+
+
+ Gets the referenced type system tables in the PE metadata file
+
+
+
+
+ Gets all type system table rows. This array has exactly 64 elements.
+
+
+
+
+
+
+
+ Equality comparer for all raw rows
+
+
+
+
+ Default instance
+
+
+
+
+ Raw contents of an uncompressed Module table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed TypeRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed TypeDef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Field table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Method table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ParamPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Param table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed InterfaceImpl table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MemberRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Constant table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed CustomAttribute table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldMarshal table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed DeclSecurity table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ClassLayout table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldLayout table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed StandAloneSig table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed EventMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed EventPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Event table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed PropertyMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed PropertyPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Property table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodSemantics table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodImpl table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ModuleRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed TypeSpec table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ImplMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldRVA table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ENCLog table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ENCMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Assembly table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyProcessor table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyOS table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyRefProcessor table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyRefOS table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed File table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ExportedType table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ManifestResource table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed NestedClass table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed GenericParam table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodSpec table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed GenericParamConstraint table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Document table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodDebugInformation table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed LocalScope table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed LocalVariable table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed LocalConstant table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ImportScope table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed StateMachineMethod table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed CustomDebugInformation table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Stores a list of rids
+
+
+
+
+ Gets the empty instance
+
+
+
+
+ Creates a new instance
+
+
+
+
+
+
+
+ Creates a new instance
+
+ List of valid rids
+
+
+
+
+ Gets the 'th rid
+
+ Index. Must be <
+ A rid or 0 if is invalid
+
+
+
+ Gets the number of rids it will iterate over
+
+
+
+
+ Enumerator
+
+
+
+
+ Gets the current rid
+
+
+
+
+ Disposes this instance
+
+
+
+
+ Moves to the next rid
+
+
+
+
+
+ Gets the enumerator
+
+
+
+
+
+ Storage flags found in the MD header
+
+
+
+
+ Normal flags
+
+
+
+
+ More data after the header but before the streams.
+
+ The CLR will fail to load the file if this flag (or any other bits) is set.
+
+
+
+ A metadata stream header
+
+
+
+
+ The offset of the stream relative to the start of the metadata header
+
+
+
+
+ The size of the stream
+
+
+
+
+ The name of the stream
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the #Strings stream
+
+
+
+
+
+
+
+
+
+
+ Reads a
+
+ Offset of string
+ A instance or null if invalid offset
+
+
+
+ Reads a . The empty string is returned if
+ is invalid.
+
+ Offset of string
+ A instance
+
+
+
+ The metadata tables
+
+
+
+ Module table (00h)
+
+
+ TypeRef table (01h)
+
+
+ TypeDef table (02h)
+
+
+ FieldPtr table (03h)
+
+
+ Field table (04h)
+
+
+ MethodPtr table (05h)
+
+
+ Method table (06h)
+
+
+ ParamPtr table (07h)
+
+
+ Param table (08h)
+
+
+ InterfaceImpl table (09h)
+
+
+ MemberRef table (0Ah)
+
+
+ Constant table (0Bh)
+
+
+ CustomAttribute table (0Ch)
+
+
+ FieldMarshal table (0Dh)
+
+
+ DeclSecurity table (0Eh)
+
+
+ ClassLayout table (0Fh)
+
+
+ FieldLayout table (10h)
+
+
+ StandAloneSig table (11h)
+
+
+ EventMap table (12h)
+
+
+ EventPtr table (13h)
+
+
+ Event table (14h)
+
+
+ PropertyMap table (15h)
+
+
+ PropertyPtr table (16h)
+
+
+ Property table (17h)
+
+
+ MethodSemantics table (18h)
+
+
+ MethodImpl table (19h)
+
+
+ ModuleRef table (1Ah)
+
+
+ TypeSpec table (1Bh)
+
+
+ ImplMap table (1Ch)
+
+
+ FieldRVA table (1Dh)
+
+
+ ENCLog table (1Eh)
+
+
+ ENCMap table (1Fh)
+
+
+ Assembly table (20h)
+
+
+ AssemblyProcessor table (21h)
+
+
+ AssemblyOS table (22h)
+
+
+ AssemblyRef table (23h)
+
+
+ AssemblyRefProcessor table (24h)
+
+
+ AssemblyRefOS table (25h)
+
+
+ File table (26h)
+
+
+ ExportedType table (27h)
+
+
+ ManifestResource table (28h)
+
+
+ NestedClass table (29h)
+
+
+ GenericParam table (2Ah)
+
+
+ MethodSpec table (2Bh)
+
+
+ GenericParamConstraint table (2Ch)
+
+
+ (Portable PDB) Document table (30h)
+
+
+ (Portable PDB) MethodDebugInformation table (31h)
+
+
+ (Portable PDB) LocalScope table (32h)
+
+
+ (Portable PDB) LocalVariable table (33h)
+
+
+ (Portable PDB) LocalConstant table (34h)
+
+
+ (Portable PDB) ImportScope table (35h)
+
+
+ (Portable PDB) StateMachineMethod table (36h)
+
+
+ (Portable PDB) CustomDebugInformation table (37h)
+
+
+
+ Info about one MD table
+
+
+
+
+ Returns the table type
+
+
+
+
+ Returns the total size of a row in bytes
+
+
+
+
+ Returns all the columns
+
+
+
+
+ Returns the name of the table
+
+
+
+
+ Constructor
+
+ Table type
+ Table name
+ All columns
+
+
+
+ Constructor
+
+ Table type
+ Table name
+ All columns
+ Row size
+
+
+
+ .NET metadata tables stream
+
+
+
+
+ Gets/sets the column reader
+
+
+
+
+ Gets/sets the Method table reader
+
+
+
+
+ Gets the reserved field
+
+
+
+
+ Gets the version. The major version is in the upper 8 bits, and the minor version
+ is in the lower 8 bits.
+
+
+
+
+ Gets
+
+
+
+
+ Gets the reserved log2 rid field
+
+
+
+
+ Gets the valid mask
+
+
+
+
+ Gets the sorted mask
+
+
+
+
+ Gets the extra data
+
+
+
+
+ Gets the MD tables
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Constructor
+
+ factory
+ Offset of metadata
+ Stream header
+
+
+
+ Constructor
+
+ factory
+ Offset of metadata
+ Stream header
+ Runtime kind
+
+
+
+ Initializes MD tables
+
+ Type system table rows (from #Pdb stream)
+
+
+
+
+
+
+
+
+
+ Returns a MD table
+
+ The table type
+ A or null if table doesn't exist
+
+
+
+ Checks whether a table exists
+
+ The table type
+ true if the table exists
+
+
+
+ Checks whether table is sorted
+
+ The table
+
+
+
+ Reads a raw Module row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw TypeRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw TypeDef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Field row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Method row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ParamPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Param row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw InterfaceImpl row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MemberRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Constant row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw CustomAttribute row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldMarshal row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw DeclSecurity row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ClassLayout row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldLayout row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw StandAloneSig row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw EventMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw EventPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Event row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw PropertyMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw PropertyPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Property row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodSemantics row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodImpl row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ModuleRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw TypeSpec row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ImplMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldRVA row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ENCLog row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ENCMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Assembly row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyProcessor row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyOS row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyRefProcessor row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyRefOS row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw File row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ExportedType row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ManifestResource row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw NestedClass row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw GenericParam row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodSpec row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw GenericParamConstraint row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Document row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodDebugInformation row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw LocalScope row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw LocalVariable row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw LocalConstant row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ImportScope row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw StateMachineMethod row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw CustomDebugInformation row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a column
+
+ The table
+ Row ID
+ Column index in
+ Result is put here or 0 if we return false
+ true if we could read the column, false otherwise
+
+
+
+ Reads a column
+
+ The table
+ Row ID
+ Column
+ Result is put here or 0 if we return false
+ true if we could read the column, false otherwise
+
+
+
+ Represents the #US stream
+
+
+
+
+
+
+
+
+
+
+ Reads a unicode string
+
+ Offset of unicode string
+ A string or null if is invalid
+
+
+
+ Reads data just like , but returns an empty string if
+ offset is invalid
+
+ Offset of unicode string
+ The string
+
+
+
+ Finds types, fields, methods, etc in a module. If nothing has been added to the module, it's
+ faster to call ResolveMethodDef(), ResolveTypeRef() etc.
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ Finds all types, fields, etc
+
+ The module to scan
+ Itself
+
+
+
+ Methods to load properties to make sure they're initialized
+
+
+
+
+ Read every collection element
+
+ Collection element type
+ Collection
+
+
+
+ Load the object instance
+
+ The value (ignored)
+
+
+
+ A high-level representation of a row in the MemberRef table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column MemberRef.Class
+
+
+
+
+
+
+
+ From column MemberRef.Name
+
+
+
+ Name
+
+
+
+ From column MemberRef.Signature
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ true if this is a method reference ( != null)
+
+
+
+
+ true if this is a field reference ( != null)
+
+
+
+
+ Gets/sets the method sig
+
+
+
+
+ Gets/sets the field sig
+
+
+
+
+
+
+
+ true if the method has a hidden 'this' parameter
+
+
+
+
+ true if the method has an explicit 'this' parameter
+
+
+
+
+ Gets the calling convention
+
+
+
+
+ Gets/sets the method return type
+
+
+
+
+
+
+
+ Gets the full name
+
+
+
+
+ Get the declaring type's full name
+
+ Full name or null if there's no declaring type
+
+
+
+ Resolves the method/field
+
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Resolves the method/field
+
+ A or a instance
+ If the method/field couldn't be resolved
+
+
+
+ Resolves the field
+
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves the field
+
+ A instance
+ If the field couldn't be resolved
+
+
+
+ Resolves the method
+
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves the method
+
+ A instance
+ If the method couldn't be resolved
+
+
+
+ Gets a that can be used as signature context
+
+ Context passed to the constructor
+ Field/method class owner
+
+
+
+
+
+
+
+ A MemberRef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Constructor
+
+ Owner module
+ Name of ref
+
+
+
+ Constructor
+
+ Owner module
+ Name of field ref
+ Field sig
+
+
+
+ Constructor
+
+ Owner module
+ Name of field ref
+ Field sig
+ Owner of field
+
+
+
+ Constructor
+
+ Owner module
+ Name of method ref
+ Method sig
+
+
+
+ Constructor
+
+ Owner module
+ Name of method ref
+ Method sig
+ Owner of method
+
+
+
+ Created from a row in the MemberRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this MemberRef row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Method attributes, see CorHdr.h/CorMethodAttr
+
+
+
+ member access mask - Use this mask to retrieve accessibility information.
+
+
+ Member not referenceable.
+
+
+ Member not referenceable.
+
+
+ Accessible only by the parent type.
+
+
+ Accessible by sub-types only in this Assembly.
+
+
+ Accessibly by anyone in the Assembly.
+
+
+ Accessible only by type and sub-types.
+
+
+ Accessibly by sub-types anywhere, plus anyone in assembly.
+
+
+ Accessibly by anyone who has visibility to this scope.
+
+
+ Defined on type, else per instance.
+
+
+ Method may not be overridden.
+
+
+ Method virtual.
+
+
+ Method hides by name+sig, else just by name.
+
+
+ vtable layout mask - Use this mask to retrieve vtable attributes.
+
+
+ The default.
+
+
+ Method always gets a new slot in the vtable.
+
+
+ Overridability is the same as the visibility.
+
+
+ Method does not provide an implementation.
+
+
+ Method is special. Name describes how.
+
+
+ Implementation is forwarded through pinvoke.
+
+
+ Managed method exported via thunk to unmanaged code.
+
+
+ Runtime should check name encoding.
+
+
+ Method has security associate with it.
+
+
+ Method calls another method containing security code.
+
+
+
+ A high-level representation of a row in the Method table
+
+
+
+
+ The row id in its table
+
+
+
+
+ All parameters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Method.RVA
+
+
+
+
+
+
+
+ From column Method.ImplFlags
+
+
+
+ Implementation attributes
+
+
+
+ From column Method.Flags
+
+
+
+ Attributes
+
+
+
+ From column Method.Name
+
+
+
+ Name
+
+
+
+ From column Method.Signature
+
+
+
+
+
+
+
+ From column Method.ParamList
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets/sets the method body. See also
+
+
+
+
+
+
+
+
+
+
+ Frees the method body if it has been loaded. This does nothing if
+ returns false.
+
+
+
+ Called to initialize
+
+
+
+ true if can free the method body
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the methods this method implements
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the export info or null if the method isn't exported to unmanaged code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the CIL method body. See also
+
+
+
+
+ Gets/sets the native method body
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if it has a
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the full name
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets the parameters
+
+
+
+
+
+
+
+ true if the method has a hidden 'this' parameter
+
+
+
+
+ true if the method has an explicit 'this' parameter
+
+
+
+
+ Gets the calling convention
+
+
+
+
+ Gets/sets the method return type
+
+
+
+
+ true if the method returns a value (i.e., return type is not )
+
+
+
+
+ Gets/sets the method semantics attributes. If you remove/add a method to a property or
+ an event, you must manually update this property or eg. won't
+ work as expected.
+
+
+
+ Set when has been initialized
+
+
+
+
+
+ Initializes
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the method access
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the code type
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if this is the static type constructor
+
+
+
+
+ true if this is an instance constructor
+
+
+
+
+ true if this is a static or an instance constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A Method row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Method name
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+ Flags
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+ Impl flags
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+ Impl flags
+ Flags
+
+
+
+ Created from a row in the Method table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Method row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+
+
+
+ Contains the name and ordinal of a method that gets exported to unmanaged code.
+
+
+
+
+ Gets the ordinal or null
+
+
+
+
+ Gets the name. If it's null, and is also null, the name of the method
+ () is used as the exported name.
+
+
+
+
+ Gets the options
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Name or null to export by ordinal
+
+
+
+ Constructor
+
+ Ordinal
+
+
+
+ Constructor
+
+ Name or null to export by ordinal
+ Ordinal or null to export by name
+
+
+
+ Constructor
+
+ Name or null to export by ordinal
+ Ordinal or null to export by name
+ Options
+
+
+
+ Exported method options
+
+
+
+
+ No bit is set
+
+
+
+
+ Transition from unmanaged code
+
+
+
+
+ Also retain app domain
+
+
+
+
+ Call most derived method
+
+
+
+
+ Method impl attributes, see CorHdr.h/CorMethodImpl
+
+
+
+ Flags about code type.
+
+
+ Method impl is IL.
+
+
+ Method impl is native.
+
+
+ Method impl is OPTIL
+
+
+ Method impl is provided by the runtime.
+
+
+ Flags specifying whether the code is managed or unmanaged.
+
+
+ Method impl is unmanaged, otherwise managed.
+
+
+ Method impl is managed.
+
+
+ Indicates method is defined; used primarily in merge scenarios.
+
+
+ Indicates method sig is not to be mangled to do HRESULT conversion.
+
+
+ Reserved for internal use.
+
+
+ Method is single threaded through the body.
+
+
+ Method may not be inlined.
+
+
+ Method should be inlined if possible.
+
+
+ Method may not be optimized.
+
+
+ Method may contain hot code and should be aggressively optimized.
+
+
+ The JIT compiler should look for security mitigation attributes, such as the user-defined System.Runtime.CompilerServices.SecurityMitigationsAttribute. If found, the JIT compiler applies any related security mitigations. Available starting with .NET Framework 4.8.
+
+
+
+ Describes which method some method implements
+
+
+
+
+ The method body. Usually a but could be a
+
+
+
+
+ The method implements
+
+
+
+
+ Constructor
+
+ Method body
+ The method implements
+
+
+
+ Method semantics flags, see CorHdr.h/CorMethodSemanticsAttr
+
+
+
+ No bit is set
+
+
+ Setter for property
+
+
+ Getter for property
+
+
+ other method for property or event
+
+
+ AddOn method for event
+
+
+ RemoveOn method for event
+
+
+ Fire method for event
+
+
+
+ A high-level representation of a row in the MethodSpec table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column MethodSpec.Method
+
+
+
+
+
+
+
+ From column MethodSpec.Instantiation
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the generic instance method sig
+
+
+
+
+
+
+
+
+
+
+ Gets the full name
+
+
+
+
+
+
+
+ A MethodSpec row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The generic method
+
+
+
+ Constructor
+
+ The generic method
+ The instantiated method sig
+
+
+
+ Created from a row in the MethodSpec table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this MethodSpec row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ context
+
+
+
+
+ Gets/sets the assembly resolver. This is never null.
+
+
+
+
+ Gets/sets the resolver. This is never null.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Assembly resolver or null
+
+
+
+ Constructor
+
+ Type/method/field resolver or null
+
+
+
+ Constructor
+
+ Assembly resolver or null
+ Type/method/field resolver or null
+
+
+
+ creation options
+
+
+
+
+ Module context
+
+
+
+
+ PDB reader options
+
+
+
+
+ Set it to A) the path (string) of the PDB file, B) the data (byte[]) of the PDB file or
+ C) to an of the PDB data. The will
+ be owned by the module. You don't need to initialize
+
+
+
+
+ If true, will load the PDB file from disk if present, or an embedded portable PDB file
+ stored in the PE file. The default value is true.
+ You don't need to initialize .
+
+
+
+
+ corlib assembly reference to use or null if the default one from the opened
+ module should be used.
+
+
+
+
+ Runtime reader kind, default is . It should be
+ set to if it's an obfuscated Mono/Unity assembly.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Module context
+
+
+
+ Constructor
+
+ Runtime reader kind, default is . It should be
+ set to if it's an obfuscated Mono/Unity assembly.
+
+
+
+ Constructor
+
+ Module context
+ Runtime reader kind, default is . It should be
+ set to if it's an obfuscated Mono/Unity assembly.
+
+
+
+ Runtime reader kind
+
+
+
+
+ Microsoft's CLRs (.NET Framework, .NET Core)
+
+
+
+
+ Mono's CLR (Mono, Unity)
+
+
+
+
+ A high-level representation of a row in the Module table
+
+
+
+ Default characteristics
+
+
+ Default DLL characteristics
+
+
+
+ The row id in its table
+
+
+
+
+ Initialize this in the ctor
+
+
+
+
+ PDB state
+
+
+
+
+ Array of last used rid in each table. I.e., next free rid is value + 1
+
+
+
+ Module context
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/sets a user value. This is never used by dnlib. This property isn't thread safe.
+
+
+
+
+
+
+
+
+
+
+ Gets/sets Module.Generation column
+
+
+
+
+
+
+
+ Gets/sets Module.Name column
+
+
+
+ Name
+
+
+
+ Gets/sets Module.Mvid column
+
+
+
+
+
+
+
+ Gets/sets Module.EncId column
+
+
+
+
+
+
+
+ Gets/sets Module.EncBaseId column
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the module's assembly. To set this value, add this
+ to .
+
+
+
+
+
+
+
+ Gets a list of all non-nested s. See also
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets a list of all s
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the native entry point. Only one of and
+ can be set. You write to one and the other one gets cleared.
+
+
+
+
+ Gets/sets the managed entry point. Only one of and
+ can be set. You write to one and the other one gets cleared.
+
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Called to initialize
+
+
+
+
+
+
+ Gets/sets the entry point method
+
+
+
+
+ true if is non-zero
+
+
+
+
+ true if is non-null
+
+
+
+
+ true if is non-null
+
+
+
+
+ Gets a list of all s
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the . This is null if there are no
+ vtable fixups.
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+
+
+
+ Gets/sets the path of the module or an empty string if it wasn't loaded from disk
+
+
+
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the instance
+
+
+
+
+ Gets/sets the module context. This is never null.
+
+
+
+
+ If true, the cache is enabled. The cache is used by
+ and to find types.
+
+ IMPORTANT: Only enable the cache if this module's types keep their exact
+ name, namespace, and declaring type and if no type is either added or
+ removed from or from any type that is reachable from the
+ top-level types in (i.e., any type owned by this module).
+ This is disabled by default. When disabled, all calls to
+ and will result in a slow O(n) (linear) search.
+
+
+
+
+
+ true if this is the manifest (main) module
+
+
+
+
+ Gets the global (aka. <Module>) type or null if there are no types
+
+
+
+
+ true if it's the core library module, false if it's not the core library module,
+ and null if it's not known.
+
+
+
+
+ Gets/sets the Win32 resources
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ Gets the . This is null if no PDB file
+ has been loaded or if no PDB file could be found.
+
+
+
+
+ Module kind
+
+
+
+
+ Gets/sets the characteristics (from PE file header)
+
+
+
+
+ Gets/sets the DLL characteristics (from PE optional header)
+
+
+
+
+ Gets/sets the runtime version which is stored in the metadata header.
+ See .
+
+ Not thread safe
+
+
+
+ Gets the WinMD status
+
+ Not thread safe
+
+
+
+ true if this is a WinMD file
+
+
+
+
+ true if this is a managed WinMD file
+
+
+
+
+ true if this is a pure (non-managed) WinMD file
+
+
+
+
+ Gets the CLR runtime version of the managed WinMD file or null if none. This is
+ similar to for normal non-WinMD files.
+
+ Not thread safe
+
+
+
+ Gets the WinMD version or null if none
+
+ Not thread safe
+
+
+
+ true if is the CLR v1.0 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v1.0 string
+
+
+
+
+ true if is the CLR v1.1 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v1.1 string
+
+
+
+
+ true if is the CLR v1.0 or v1.1 string (only the
+ major and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v1.0 or v1.1 string
+
+
+
+
+ true if is the CLR v2.0 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v2.0 string
+
+
+
+
+ true if is the CLR v4.0 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v4.0 string
+
+
+
+
+ true if is the ECMA 2002 string
+
+
+
+
+ true if is the ECMA 2005 string
+
+
+
+
+ Gets/sets the (from PE header)
+
+
+
+
+ true if is , , ...
+
+
+
+
+ true if is
+
+
+
+
+ true if is , , ...
+
+
+
+
+ true if is , , ...
+
+
+
+
+ true if is , , ...
+
+
+
+
+ Gets/sets the (from .NET header)
+
+
+
+
+
+
+
+ Gets/sets the runtime version number in the COR20 header. The major version is
+ in the high 16 bits. The minor version is in the low 16 bits. This is normally 2.5
+ (0x00020005), but if it's .NET 1.x, it should be 2.0 (0x00020000). If this is
+ null, the default value will be used when saving the module (2.0 if CLR 1.x,
+ and 2.5 if not CLR 1.x).
+
+
+
+
+ Gets the tables header version. The major version is in the upper 8 bits and the
+ minor version is in the lower 8 bits. .NET 1.0/1.1 use version 1.0 (0x0100) and
+ .NET 2.x and later use version 2.0 (0x0200). 1.0 has no support for generics,
+ 1.1 has support for generics (GenericParam rows have an extra Kind column),
+ and 2.0 has support for generics (GenericParam rows have the standard 4 columns).
+ No other version is supported. If this is null, the default version is
+ used (1.0 if .NET 1.x, else 2.0).
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Gets all the types (including nested types) present in this module
+
+
+
+
+ Adds as a non-nested type. If it's already nested, its
+ will be set to null.
+
+ The to insert
+
+
+
+ Updates the rid to the next free rid available. It's only updated if
+ the original rid is 0.
+
+ IMDTokenProvider
+ The row that should be updated
+ Returns the input
+
+
+
+ Updates the rid to the next free rid available.
+
+ IMDTokenProvider
+ The row that should be updated
+ Returns the input
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The field
+ The imported field or null if is invalid
+ or if we failed to import the field
+
+
+
+ Imports a as a . This will be either
+ a or a .
+
+ The method
+ The imported method or null if is invalid
+ or if we failed to import the method
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a as a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The member ref
+ The imported member ref or null if is invalid
+
+
+
+ Writes the module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+
+
+
+ Writes the module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+ Writer options
+
+
+
+ Writes the module to a stream.
+
+ Destination stream
+
+
+
+ Writes the module to a stream.
+
+ Destination stream
+ Writer options
+
+
+
+ Resets the cache which can be enabled by setting
+ to true. Use this method if the cache is
+ enabled but some of the types have been modified (eg. removed, added, renamed).
+
+
+
+
+ Finds a
+
+ Type
+ Name
+ Language ID
+ The or null if none found
+
+
+
+ Creates a new
+
+ PDB file kind
+
+
+
+ Sets a
+
+ New
+
+
+
+ Returns the size of a pointer. Assumes it's 32-bit if pointer size is unknown or
+ if it can be 32-bit or 64-bit.
+
+ Size of a pointer (4 or 8)
+
+
+
+ Returns the size of a pointer
+
+ Default pointer size if it's not known or if it
+ can be 32-bit or 64-bit
+ Size of a pointer (4 or 8)
+
+
+
+ Returns the size of a pointer
+
+ Default pointer size
+ Pointer size if it's prefer-32-bit (should usually be 4)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Finds a . For speed, enable
+ if possible (read the documentation first).
+
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing or null if it wasn't found.
+
+
+
+ Finds a . Its scope (i.e., module or assembly) is ignored when
+ looking up the type. For speed, enable if possible
+ (read the documentation first).
+
+ The type ref
+ An existing or null if it wasn't found.
+
+
+
+ Finds a
+
+ The type
+ A or null if it wasn't found
+
+
+
+ Creates a new instance. There should normally only be one
+ instance shared by all s.
+
+ A new instance
+
+
+
+ Load everything in this module. All types, fields, asm refs, etc are loaded, all their
+ properties are read to make sure everything is cached.
+
+ Cancellation token or null
+
+
+
+
+
+
+ Resolves a token
+
+ The metadata token
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Gets all s
+
+
+
+
+ Gets all s
+
+
+
+
+ Gets all s. s with generic parameters
+ aren't cached and a new copy is always returned.
+
+
+
+
+ Gets all s. s with generic parameters
+ aren't cached and a new copy is always returned.
+
+ Generic parameter context
+
+
+
+ Gets all s
+
+
+
+
+ Finds an assembly reference by name. If there's more than one, pick the one with
+ the greatest version number.
+
+ Simple name of assembly (eg. "mscorlib")
+ The found or null if there's no such
+ assembly reference.
+
+
+
+ Compare asm refs' version
+
+ First asm ref
+ New asm ref
+
+
+
+
+ A Module row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ is initialized to a random
+ Module nam
+
+
+
+ Constructor
+
+ Module name
+ Module version ID
+
+
+
+ Constructor
+
+ Module name
+ Module version ID
+ Corlib assembly ref or null
+
+
+
+ Created from a row in the Module table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Module row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Initialize fields from the raw Module row
+
+
+
+
+ Created from a row in the Module table
+
+
+
+ The file that contains all .NET metadata
+
+
+
+ Gets/sets the method decrypter
+
+
+
+
+ Gets/sets the string decrypter
+
+
+
+
+ Returns the .NET metadata interface
+
+
+
+
+ Returns the #~ or #- tables stream
+
+
+
+
+ Returns the #Strings stream
+
+
+
+
+ Returns the #Blob stream
+
+
+
+
+ Returns the #GUID stream
+
+
+
+
+ Returns the #US stream
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates a instance from a file
+
+ File name of an existing .NET module/assembly
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a file
+
+ File name of an existing .NET module/assembly
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a byte[]
+
+ Contents of a .NET module/assembly
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a byte[]
+
+ Contents of a .NET module/assembly
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module context or null
+ Image layout of the module in memory
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module creation options or null
+ Image layout of the module in memory
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance
+
+ PE image
+ A new instance
+
+
+
+ Creates a instance
+
+ PE image
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance
+
+ PE image
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module context or null
+ Image layout of the file in memory
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module creation options or null
+ Image layout of the file in memory
+ A new instance
+
+
+
+ Creates a instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream (owned by caller)
+ A new instance
+ If is null
+
+
+
+ Creates a instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream (owned by caller)
+ Module context or null
+ A new instance
+ If is null
+
+
+
+ Creates a instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream (owned by caller)
+ Module creation options or null
+ A new instance
+ If is null
+
+
+
+ Creates a instance from a
+
+ The metadata
+ Module creation options or null
+ A new instance that now owns
+
+
+
+ Constructor
+
+ The metadata
+ Module creation options or null
+ If is null
+
+
+
+ Loads symbols using
+
+ PDB symbol reader
+
+
+
+ Loads symbols from a PDB file
+
+ PDB file name
+
+
+
+ Loads symbols from a PDB file
+
+ PDB reader options
+ PDB file name
+
+
+
+ Loads symbols from a byte array
+
+ PDB data
+
+
+
+ Loads symbols from a byte array
+
+ PDB reader options
+ PDB data
+
+
+
+ Loads symbols from a stream
+
+ PDB file stream which is now owned by us
+
+
+
+ Loads symbols from a stream
+
+ PDB reader options
+ PDB file stream which is now owned by us
+
+
+
+ Loads symbols if a PDB file is available
+
+
+
+
+ Loads symbols if a PDB file is available
+
+ PDB reader options
+
+
+
+ Finds a mscorlib
+
+ An existing instance or null if it wasn't found
+
+
+
+ Called when no corlib assembly reference was found
+
+
+
+
+
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ A TypeDefOrRef coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A TypeDefOrRef coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasConstant coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasCustomAttribute coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasCustomAttribute coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasFieldMarshal coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasDeclSecurity coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MemberRefParent coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MemberRefParent coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasSemantic coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MethodDefOrRef coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MethodDefOrRef coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MemberForwarded coded token
+ A or null if is invalid
+
+
+
+ Resolves an
+
+ An Implementation coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A CustomAttributeType coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A CustomAttributeType coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A ResolutionScope coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A TypeOrMethodDef> coded token
+ A or null if is invalid
+
+
+
+ Reads a signature from the #Blob stream
+
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature from the #Blob stream
+
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a from the blob
+
+ Table of owner
+ Row ID of owner
+ Generic parameter context
+ A new instance or null if there's no field
+ marshal for this owner.
+
+
+
+ Reads a CIL method body
+
+ Method parameters
+ RVA
+ A new instance. It's empty if RVA is invalid (eg. 0 or
+ it doesn't point to a CIL method body)
+
+
+
+ Reads a CIL method body
+
+ Method parameters
+ RVA
+ Generic parameter context
+ A new instance. It's empty if RVA is invalid (eg. 0 or
+ it doesn't point to a CIL method body)
+
+
+
+ Returns the owner type of a field
+
+ The field
+ The owner type or null if none
+
+
+
+ Returns the owner type of a method
+
+ The method
+ The owner type or null if none
+
+
+
+ Returns the owner type of an event
+
+ The event
+ The owner type or null if none
+
+
+
+ Returns the owner type of a property
+
+ The property
+ The owner type or null if none
+
+
+
+ Returns the owner type/method of a generic param
+
+ The generic param
+ The owner type/method or null if none
+
+
+
+ Returns the owner generic param of a generic param constraint
+
+ The generic param constraint
+ The owner generic param or null if none
+
+
+
+ Returns the owner method of a param
+
+ The param
+ The owner method or null if none
+
+
+
+ Reads a module
+
+ File rid
+ The assembly owning the module we should read
+ A new instance or null if
+ is invalid or if it's not a .NET module.
+
+
+
+ Gets a list of all File rids that are .NET modules. Call
+ to read one of these modules.
+
+ A new instance
+
+
+
+ Concatenates the inputs and returns the result if it's a valid path
+
+ Base dir
+ File name
+ Full path to the file or null if one of the inputs is invalid
+
+
+
+ Gets the base directory where this .NET module is located on disk
+
+ Base directory or null if unknown or if an error occurred
+
+
+
+ Creates a instance
+
+ ManifestResource rid
+ A new instance
+
+
+
+ Reads a
+
+ Custom attribute rid
+ A new instance or null if
+ is invalid
+
+
+
+ Reads a
+
+ Custom attribute rid
+ Generic parameter context
+ A new instance or null if
+ is invalid
+
+
+
+ Reads data somewhere in the address space of the image
+
+ RVA of data
+ Size of data
+ All the data or null if or
+ is invalid
+
+
+
+ Gets the native entry point or 0 if none
+
+
+
+
+ Gets the managed entry point (a Method or a File) or null if none
+
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a method body
+
+ Method
+ Method RVA
+ Method impl attrs
+ Generic parameter context
+ A or null if none
+
+
+
+ Updates with the PDB info (if any)
+
+ Owner method
+ Method body
+ Returns originak value
+
+
+
+ Reads a string from the #US heap
+
+ String token
+ A non-null string
+
+
+
+ Writes the mixed-mode module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+
+
+
+ Writes the mixed-mode module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+ Writer options
+
+
+
+ Writes the mixed-mode module to a stream.
+
+ Destination stream
+
+
+
+ Writes the mixed-mode module to a stream.
+
+ Destination stream
+ Writer options
+
+
+
+ Reads data from the #Blob. The following columns are returned:
+ Field.Signature
+ Method.Signature
+ MemberRef.Signature
+ Constant.Value
+ CustomAttribute.Value
+ FieldMarshal.NativeType
+ DeclSecurity.PermissionSet
+ StandAloneSig.Signature
+ Property.Type
+ TypeSpec.Signature
+ Assembly.PublicKey
+ AssemblyRef.PublicKeyOrToken
+ File.HashValue
+ MethodSpec.Instantiation
+
+ A token
+ The value in the #Blob or null if is invalid
+
+
+
+ Module kind
+
+
+
+
+ Console UI module
+
+
+
+
+ Windows GUI module
+
+
+
+
+ DLL module
+
+
+
+
+ Netmodule (it has no assembly manifest)
+
+
+
+
+ A high-level representation of a row in the ModuleRef table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column ModuleRef.Name
+
+
+
+ Name
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ Gets the definition module, i.e., the module which it references, or null
+ if the module can't be found.
+
+
+
+
+ Gets the definition assembly, i.e., the assembly of the module it references, or
+ null if the assembly can't be found.
+
+
+
+
+
+
+
+
+
+
+ A ModuleRef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Constructor
+
+ Owner module
+ Module name
+
+
+
+ Created from a row in the ModuleRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ModuleRef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Native types used by field marshals. See CorHdr.h/CorNativeType
+
+
+
+ Deprecated
+
+
+ void
+
+
+ bool
+
+
+ int8
+
+
+ unsigned int8
+
+
+ int16
+
+
+ unsigned int16
+
+
+ int32
+
+
+ unsigned int32
+
+
+ int64
+
+
+ unsigned int64
+
+
+ float32
+
+
+ float64
+
+
+ syschar
+
+
+ variant
+
+
+ currency
+
+
+ ptr
+
+
+ decimal
+
+
+ date
+
+
+ bstr
+
+
+ lpstr
+
+
+ lpwstr
+
+
+ lptstr
+
+
+ fixed sysstring
+
+
+ objectref
+
+
+ iunknown
+
+
+ idispatch
+
+
+ struct
+
+
+ interface
+
+
+ safearray
+
+
+ fixed array
+
+
+ int
+
+
+ uint
+
+
+ nested struct
+
+
+ byvalstr
+
+
+ ansi bstr
+
+
+ tbstr
+
+
+ variant bool
+
+
+ func
+
+
+ as any
+
+
+ array
+
+
+ lpstruct
+
+
+ custom marshaler
+
+
+ error
+
+
+ iinspectable
+
+
+ hstring
+
+
+ UTF-8 encoded string
+
+
+ first invalid element type
+
+
+ Value wasn't present in the blob
+
+
+ Raw marshal blob type
+
+
+
+ A resolver that always fails
+
+
+
+
+ The one and only instance of this type
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameter flags. See CorHdr.h/CorParamAttr
+
+
+
+ Param is [In]
+
+
+ Param is [out]
+
+
+ Param is a locale identifier
+
+
+ Param is a return value
+
+
+ Param is optional
+
+
+ Param has default value.
+
+
+ Param has FieldMarshal.
+
+
+
+ A high-level representation of a row in the Param table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the declaring method
+
+
+
+
+
+
+
+ From column Param.Flags
+
+
+
+ Attributes
+
+
+
+ From column Param.Sequence
+
+
+
+
+
+
+
+ From column Param.Name
+
+
+
+ Name
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if is not null
+
+
+
+
+ Gets the constant element type or if there's no constant
+
+
+
+
+ true if is not null
+
+
+
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ A Param row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Sequence
+
+
+
+ Constructor
+
+ Name
+ Sequence
+ Flags
+
+
+
+ Created from a row in the Param table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Param row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ A list of all method parameters
+
+
+
+
+ Gets the owner method
+
+
+
+
+ Gets the number of parameters, including a possible hidden 'this' parameter
+
+
+
+
+ Gets the index of the first parameter that is present in the method signature.
+ If this is a static method, the value is 0, else it's an instance method so the
+ index is 1 since the first parameter is the hidden 'this' parameter.
+
+
+
+
+ Gets the N'th parameter
+
+ The parameter index
+
+
+
+ Gets the method return parameter
+
+
+
+
+ Constructor
+
+ The method with all parameters
+ 's declaring type
+
+
+
+ Should be called when the method's declaring type has changed
+
+ Method declaring type
+
+
+
+ Should be called when the method sig has changed
+
+
+
+
+
+
+
+ Enumerator
+
+
+
+
+ Gets the current value
+
+
+
+
+ Moves to the next element in the collection
+
+
+
+
+
+ Disposes the enumerator
+
+
+
+
+ Gets the list enumerator
+
+
+
+
+
+ A method parameter
+
+
+
+
+ The hidden 'this' parameter's
+
+
+
+
+ The return type parameter's
+
+
+
+
+ Gets the parameter index. If the method has a hidden 'this' parameter, that parameter
+ has index 0 and the remaining parameters in the method signature start from index 1.
+ The method return parameter has index -1.
+
+
+
+
+ Gets the index of the parameter in the method signature. See also
+ and
+
+
+
+
+ true if it's a normal visible method parameter, i.e., it's not the hidden
+ 'this' parameter and it's not the method return type parameter.
+
+
+
+
+ true if it's the hidden 'this' parameter
+
+
+
+
+ true if it's the method return type parameter
+
+
+
+
+ Gets the parameter type
+
+
+
+
+ Gets the owner method
+
+
+
+
+ Gets the or null if not present
+
+
+
+
+ true if it has a
+
+
+
+
+ Gets the name from . If is null,
+ an empty string is returned.
+
+
+
+
+ Constructor
+
+ Parameter index
+
+
+
+ Constructor
+
+ Parameter index
+ Parameter type
+
+
+
+ Constructor
+
+ Parameter index (0 is hidden this param if it exists)
+ Index in method signature
+
+
+
+ Constructor
+
+ Parameter index (0 is hidden this param if it exists)
+ Index in method signature
+ Parameter type
+
+
+
+ Creates a if it doesn't already exist
+
+
+
+
+
+
+
+ Custom debug info guids
+
+
+
+
+ Implements and uses a as the underlying
+ stream.
+
+
+
+
+ Constructor
+
+ Source stream
+
+
+
+ Constructor
+
+ Source stream
+ Name of original file or null if unknown.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IMAGE_DEBUG_DIRECTORY
+
+
+
+
+ An address in the image
+
+
+
+
+ Section
+
+
+
+
+ Offset in
+
+
+
+
+ Constructor
+
+ Section
+ Offset in
+
+
+
+ Constructor
+
+ Section
+ Offset in
+
+
+
+ Returns true if is less than or equal to
+
+ First
+ Second
+
+
+
+
+ Returns true if is less than
+
+ First
+ Second
+
+
+
+
+ Returns true if is greater than or equal to
+
+ First
+ Second
+
+
+
+
+ Returns true if is greater than
+
+ First
+ Second
+
+
+
+
+ Returns true if is equal to
+
+ First
+ Second
+
+
+
+
+ Returns true if is not equal to
+
+ First
+ Second
+
+
+
+
+ Compares this instance with and returns less than 0 if it's
+ less than , 0 if it's equal to and
+ greater than 0 if it's greater than
+
+ Other instance
+
+
+
+
+ Compares this to another instance
+
+ The other one
+ true if they're equal
+
+
+
+ Compares this to another instance
+
+ The other one
+ true if they're equal
+
+
+
+ Gets the hash code
+
+ Hash code
+
+
+
+ ToString() override
+
+
+
+
+
+ Reads a 32-bit offset followed by a 16-bit section and creates a new
+
+ Reader
+
+
+
+
+ Exception that is thrown when encounters an error.
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Inner exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ A managed PDB reader implementation for .NET modules.
+
+
+
+
+ Read the PDB in the specified stream.
+
+ PDB file data reader
+
+
+
+ Creates a instance
+
+
+
+
+ Creates a new instance
+
+ PDB context
+ PDB file stream which is now owned by this method
+ A new instance or null.
+
+
+
+ A constant in a method scope, eg. "const int SomeConstant = 123;"
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the type of the constant
+
+
+
+
+ Gets/sets the value of the constant
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Name of constant
+ Type of constant
+ Constant value
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ ToString()
+
+
+
+
+
+ Custom debug info kind
+
+ See CustomDebugInfoKind in Roslyn source code
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base class of custom debug info added to the PDB file by the compiler
+
+
+
+
+ Gets the custom debug info kind
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Unknown custom debug info. If you see an instance of this class, you're using an old dnlib version or
+ dnlib hasn't been updated to support this new custom debug info kind.
+
+
+
+
+ Gets the custom debug info kind
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the data
+
+
+
+
+ Constructor
+
+ Custom debug info kind
+ Raw custom debug info data
+
+
+
+ Constructor
+
+ Custom debug info guid
+ Raw custom debug info data
+
+
+
+ Contains sizes of using groups
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the using counts
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains a reference to another method that contains the import strings
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the referenced method
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ The referenced method
+
+
+
+ Contains a reference to another method that contains the per-module debug info (assembly reference aliases)
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the referenced method
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ The referenced method
+
+
+
+ State machine hosted local scope info
+
+
+
+
+ true if it's a syntesized local ( and are both null)
+
+
+
+
+ The instruction of the first operation in the scope. Can be null if it's a synthesized local
+
+
+
+
+ The instruction of the first operation outside of the scope or null if it ends at the last instruction in the body.
+ Can also be null if it's a synthesized local (in which case is also null, see )
+
+
+
+
+ Constructor
+
+ Start of the scope
+ First instruction after the end of the scope
+
+
+
+ Contains local scopes for state machine hoisted local variables.
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the scopes
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains the state machine type
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the state machine type
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ State machine type
+
+
+
+ Contains dynamic flags for local variables and constants
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the dynamic locals
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Dynamic local info
+
+
+
+
+ Gets the dynamic flags
+
+
+
+
+ Gets/sets the name of the local. The name must have at most 64 characters and no char can be NUL (0x0000).
+ If null is written, is returned instead.
+
+
+
+
+ true if it's a constant and not a variable ( is null)
+
+
+
+
+ true if it's a variable ( is not null)
+
+
+
+
+ Gets/sets the local. Could be null if there's no local (it's a 'const' local).
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains the EnC local variable slot map
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the data. Spec: https://github.com/dotnet/corefx/blob/master/src/System.Reflection.Metadata/specs/PortablePdb-Metadata.md#EditAndContinueLocalSlotMap
+
+
+
+
+ Constructor
+
+ Raw custom debug info data
+
+
+
+ Contains the EnC lambda map
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the data. Spec: https://github.com/dotnet/corefx/blob/master/src/System.Reflection.Metadata/specs/PortablePdb-Metadata.md#EditAndContinueLambdaAndClosureMap
+
+
+
+
+ Constructor
+
+ Raw custom debug info data
+
+
+
+ Contains tuple element names for local variables and constants
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the tuple element names
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Tuple element name info
+
+
+
+
+ Gets/sets the name of the local. If null is written, is returned instead.
+
+
+
+
+ Gets/sets the local. It's null if it's a constant, and non-null if it's a variable
+
+
+
+
+ true if it's a constant. Constants have a scope ( and )
+
+
+
+
+ true if it's a variable. Variables don't have a scope ( and )
+
+
+
+
+ Gets/sets the start of the scope or null. Only constants have a scope.
+
+
+
+
+ Gets/sets the end of the scope or null if it has no scope or if the scope ends at the end of the body. Only constants have a scope.
+
+
+
+
+ Gets the tuple element names
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains tuple element names for local variables and constants
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the tuple element names
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Async method stepping info
+
+ It's internal and translated to a
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the catch handler instruction or null
+
+
+
+
+ Gets all async step infos
+
+
+
+
+ Constructor
+
+
+
+
+ Default namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the default namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Default namespace
+
+
+
+ Dynamic flags
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the dynamic flags
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Dynamic flags
+
+
+
+ Contains the source code
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the source code blob.
+
+ It's not decompressed and converted to a string because the encoding isn't specified.
+
+ https://github.com/dotnet/corefx/blob/master/src/System.Reflection.Metadata/specs/PortablePdb-Metadata.md#embedded-source-c-and-vb-compilers
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Source code blob
+
+
+
+ Contains the source link file
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the source link file contents
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Source link file contents
+
+
+
+ Contains the source server file
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the source server file contents
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Source server file contents
+
+
+
+ Async method info
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the starting method that initiates the async operation
+
+
+
+
+ Gets/sets the instruction for the compiler generated catch handler that wraps an async method.
+ This can be null.
+
+
+
+
+ Gets all step infos used by the debugger
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Default capacity for
+
+
+
+ Async step info used by debuggers
+
+
+
+
+ The yield instruction
+
+
+
+
+ Resume method
+
+
+
+
+ Resume instruction (where the debugger puts a breakpoint)
+
+
+
+
+ Constructor
+
+ The yield instruction
+ Resume method
+ Resume instruction (where the debugger puts a breakpoint)
+
+
+
+ Iterator method
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the kickoff method
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Kickoff method
+
+
+
+ A PDB document
+
+
+
+
+ Gets/sets the document URL
+
+
+
+
+ Gets/sets the language GUID. See
+
+
+
+
+ Gets/sets the language vendor GUID. See
+
+
+
+
+ Gets/sets the document type GUID. See
+
+
+
+
+ Gets/sets the checksum algorithm ID. See
+
+
+
+
+ Gets/sets the checksum
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ A instance
+
+
+
+ Constructor
+
+ Document URL
+ Language. See
+ Language vendor. See
+ Document type. See
+ Checksum algorithm ID. See
+ Checksum
+
+
+
+
+
+
+
+
+
+ PDB document constants
+
+
+
+
+ PDB file kind
+
+
+
+
+ Windows PDB
+
+
+
+
+ Portable PDB
+
+
+
+
+ Embedded portable PDB
+
+
+
+
+ Import scope
+
+
+
+
+ Constructor
+
+
+
+
+ Gets/sets the parent import scope
+
+
+
+
+ Gets all imports
+
+
+
+
+ true if is not empty
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Import kind
+
+
+
+
+ PDB import base class
+
+
+
+
+ Gets the import kind
+
+
+
+
+ Import namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Import assembly, namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the target assembly
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Import type
+
+
+
+
+ Returns
+
+
+
+
+ Gets the target type
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Import xml namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Import assembly reference alias
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Alias assembly reference
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target assembly
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Alias namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Alias assembly namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target assembly
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Alias type
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target type
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ A local variable
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Gets/sets the local
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the attributes
+
+
+
+
+ Gets the index of the local
+
+
+
+
+ true if it should be hidden in debugger variables windows. Not all compiler generated locals have this flag set.
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Local attributes
+
+
+
+
+ No bit is set
+
+
+
+
+ Local should be hidden in debugger variables windows. Not all compiler generated locals have this flag set.
+
+
+
+
+ A PDB method
+
+
+
+
+ Gets/sets the root scope. It contains all scopes of the method, using namespaces, variables and constants
+
+
+
+
+ Constructor
+
+
+
+
+ PDB reader options
+
+
+
+
+ No bit is set
+
+
+
+
+ Use the COM Windows PDB reader instead of the managed Windows PDB reader.
+
+ This is NOT recommended since the COM reader can only be called on the same
+ thread it was created on. It also requires a Windows OS.
+
+ If this is not set, the managed PDB reader will be used.
+
+ This option is only used if it's a Windows PDB file, not if it's a Portable PDB file.
+
+
+
+
+ Don't use Microsoft.DiaSymReader.Native. This is a NuGet package with an updated Windows PDB reader/writer implementation,
+ and if it's available at runtime, dnlib will try to use it. If this option is set, dnlib won't use it.
+ You have to add a reference to the NuGet package if you want to use it, dnlib has no reference to the NuGet package.
+
+ Only used if is set and if it's a Windows PDB file
+
+
+
+
+ Don't use diasymreader.dll's PDB reader that is shipped with .NET Framework.
+
+ Only used if is set and if it's a Windows PDB file
+
+
+
+
+ A PDB scope
+
+
+
+
+ Constructor
+
+
+
+
+ Gets/sets the first instruction
+
+
+
+
+ Gets/sets the last instruction. It's null if it ends at the end of the method.
+
+
+
+
+ Gets all child scopes
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all locals in this scope
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all namespaces (Windows PDBs). Portable PDBs use
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets/sets the import scope (Portable PDBs). Windows PDBs use
+
+
+
+
+ Gets all constants
+
+
+
+
+ true if is not empty
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ PDB state for a
+
+
+
+
+ Gets/sets the PDB file kind. You can change it from portable PDB to embedded portable PDB
+ and vice versa. Converting a Windows PDB to a portable PDB isn't supported.
+
+
+
+
+ Gets/sets the user entry point method.
+
+
+
+
+ Gets all PDB documents
+
+
+
+
+ true if is not empty
+
+
+
+
+ Constructor
+
+ Module
+ PDB file kind
+
+
+
+ Constructor
+
+ A instance
+ Owner module
+
+
+
+ Adds
+
+ New document
+ if it wasn't inserted, or the already existing document
+ if it was already inserted.
+
+
+
+ Removes
+
+ Document
+ true if it was removed, false if it wasn't inserted.
+
+
+
+ Returns an inserted instance or null if it's not been
+ inserted yet.
+
+ A PDB document
+ The existing or null if it doesn't exist.
+
+
+
+ Removes all documents
+
+
+
+
+
+ Removes all documents and optionally returns them
+
+ true if all the original s
+ should be returned.
+ All s if is true
+ or null if is false.
+
+
+
+ Constructor
+
+ Module that resolves assembly and type references
+ Portable PDB blob stream
+
+
+
+ PDB sequence point
+
+
+
+
+ PDB document
+
+
+
+
+ Start line
+
+
+
+
+ Start column
+
+
+
+
+ End line
+
+
+
+
+ End column
+
+
+
+
+ Clones this instance
+
+ A new cloned instance
+
+
+
+ Async step info
+
+
+
+
+ Yield offset
+
+
+
+
+ Breakpoint offset
+
+
+
+
+ Breakpoint method token
+
+
+
+
+ Constructor
+
+ Yield offset
+ Breakpoint offset
+ Breakpoint method token
+
+
+
+ A document
+
+
+
+
+ Gets the URL
+
+
+
+
+ Gets the language
+
+
+
+
+ Gets the language vendor
+
+
+
+
+ Gets the document type
+
+
+
+
+ Gets the checksum algorithm id
+
+
+
+
+ Gets the checksum
+
+
+
+
+ Gets the custom debug infos
+
+
+
+
+ A method
+
+
+
+
+ Gets the method token
+
+
+
+
+ Gets the root scope
+
+
+
+
+ Gets all sequence points
+
+
+
+
+ Reads custom debug info
+
+ Method
+ Method body
+ Updated with custom debug info
+
+
+
+ A namespace
+
+
+
+
+ Gets the name
+
+
+
+
+ Reads symbols from a PDB file
+
+
+
+
+ Called by the owner module before any other methods and properties are called
+
+ Owner module
+
+
+
+ Gets the PDB file kind
+
+
+
+
+ Gets the user entry point token or 0 if none
+
+
+
+
+ Gets all documents
+
+
+
+
+ Gets a method or returns null if the method doesn't exist in the PDB file
+
+ Method
+ Edit and continue version. The first version is 1
+
+
+
+
+ Reads custom debug info
+
+ Token of a instance
+ Generic parameter context
+ Updated with custom debug info
+
+
+
+ Cleans up resources
+
+
+
+
+ A scope
+
+
+
+
+ Gets the method
+
+
+
+
+ Gets the parent scope
+
+
+
+
+ Gets the start offset of the scope in the method
+
+
+
+
+ Gets the end offset of the scope in the method
+
+
+
+
+ Gets all child scopes
+
+
+
+
+ Gets all locals defined in this scope
+
+
+
+
+ Gets all namespaces in this scope
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Gets the import scope or null if none
+
+
+
+
+ Gets all the constants
+
+ Owner module if a signature must be read from the #Blob
+ Generic parameter context
+
+
+
+
+ Sequence point
+
+
+
+
+ IL offset
+
+
+
+
+ Document
+
+
+
+
+ Start line
+
+
+
+
+ Start column
+
+
+
+
+ End line
+
+
+
+
+ End column
+
+
+
+
+ A variable
+
+
+
+
+ Gets the name
+
+
+
+
+ Gets the attributes
+
+
+
+
+ Gets the index of the variable
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Reads custom debug infos produced by the C# and Visual Basic compilers. They're stored in PDB files
+ as PDB method custom attributes with the name "MD2".
+
+
+
+
+ Reads custom debug info
+
+ Method
+ The method's body. Needs to be provided by the caller since we're called from
+ PDB-init code when the Body property hasn't been initialized yet
+ Place all custom debug info in this list
+ Custom debug info from the PDB file
+
+
+
+ Writes custom debug infos produced by the C# and Visual Basic compilers. They're stored in PDB files
+ as PDB method custom attributes with the name "MD2".
+
+
+
+
+ Returns the raw custom debug info or null if there was an error
+
+ Metadata
+ Writer context
+ Method
+ Custom debug infos to write
+
+
+
+
+
+
+
+ P/Invoke attributes, see CorHdr.h/CorPinvokeMap
+
+
+
+ Pinvoke is to use the member name as specified.
+
+
+ Use this mask to retrieve the CharSet information.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Information about target function. Not relevant for fields.
+
+
+
+
+
+ Pinvoke will use native callconv appropriate to target windows platform.
+
+
+
+
+
+
+
+
+
+
+
+ In M9, pinvoke will raise exception.
+
+
+
+
+
+
+ Property attributes, see CorHdr.h/CorPropertyAttr
+
+
+
+ property is special. Name describes how.
+
+
+ Runtime(metadata internal APIs) should check name encoding.
+
+
+ Property has default
+
+
+
+ A high-level representation of a row in the Property table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Property.PropFlags
+
+
+
+ Attributes
+
+
+
+ From column Property.Name
+
+
+
+ Name
+
+
+
+ From column Property.Type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the first getter method. Writing null will clear all get methods.
+
+
+
+
+ Gets/sets the first setter method. Writing null will clear all set methods.
+
+
+
+
+ Gets all getter methods
+
+
+
+
+ Gets all setter methods
+
+
+
+
+ Gets the other methods
+
+
+
+
+ Initializes , ,
+ and .
+
+
+
+
+
+
+
+
+
+
+
+
+ Reset , ,
+
+
+
+ true if there are no methods attached to this property
+
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the constant element type or if there's no constant
+
+
+
+
+ Gets/sets the property sig
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+
+ Gets the full name of the property
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+ A Property row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Property signature
+
+
+
+ Constructor
+
+ Name
+ Property signature
+ Flags
+
+
+
+ Created from a row in the Property table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Property row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ Represents a public key
+
+
+
+
+ Gets the
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Public key data
+
+
+
+ Constructor
+
+ Public key data as a hex string or the string "null"
+ to set public key data to null
+
+
+
+
+
+
+
+
+
+ Public key / public key token base class
+
+
+
+
+ The key data
+
+
+
+
+ Returns true if is null or empty
+
+
+
+
+ Returns true if is null
+
+
+
+
+ Gets/sets key data
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+ Key data
+
+
+
+ Constructor
+
+ Key data as a hex string or the string "null"
+ to set key data to null
+
+
+
+ Checks whether a public key or token is null or empty
+
+ Public key or token instance
+
+
+
+ Returns a
+
+ A or a instance
+
+
+
+ Compares two s as s
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two public key tokens are equal
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Compares two s
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two public key tokens are equal
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Gets the public key token hash code
+
+ Public key or token
+ The hash code
+
+
+
+ Gets the public key token hash code
+
+ Public key token
+ The hash code
+
+
+
+ Creates a
+
+ Public key data or null
+ A new instance or null if
+ was null
+
+
+
+ Creates a
+
+ Public key token data or null
+ A new instance or null if
+ was null
+
+
+
+ Gets the raw public key / public key token byte array
+
+ The instance or null
+ Raw public key / public key token data or null
+
+
+
+
+
+
+ Represents a public key token
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Recursion counter
+
+
+
+
+ Max recursion count. If this is reached, we won't continue, and will use a default value.
+
+
+
+
+ Gets the recursion counter
+
+
+
+
+ Increments if it's not too high. ALL instance methods
+ that can be called recursively must call this method and
+ (if this method returns true)
+
+ true if it was incremented and caller can continue, false if
+ it was not incremented and the caller must return to its caller.
+
+
+
+ Must be called before returning to caller if
+ returned true.
+
+
+
+
+
+
+
+ Extension methods for reflection types, methods, fields
+
+
+
+
+ Checks whether it's a
+
+ The type
+
+
+
+ Gets a 's
+
+ The type
+ The type's element type
+
+
+
+ Returns true if is a generic method, but
+ not a generic method definition, i.e., a MethodSpec.
+
+ The method
+
+
+
+ Checks whether a parameter/prop/event type should be treated as if it is really a
+ generic instance type and not a generic type definition. In the .NET metadata (method
+ sig), the parameter is a generic instance type, but the CLR treats it as if it's just
+ a generic type def. This seems to happen only if the parameter type is exactly the same
+ type as the declaring type, eg. a method similar to: MyType<!0> MyType::SomeMethod().
+
+ Declaring type of method/event/property
+ Parameter/property/event type
+
+
+
+ Checks whether is a type definition and not a type spec
+ (eg. pointer or generic type instantiation)
+
+ this
+
+
+
+ Resolve exception base class
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Thrown if an assembly couldn't be resolved
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Thrown if a type couldn't be resolved
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Thrown if a method/field couldn't be resolved
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Resolves types, methods, fields
+
+
+
+
+ true to project WinMD types to CLR types, eg. Windows.UI.Xaml.Interop.TypeName
+ gets converted to System.Type before trying to resolve the type. This is enabled
+ by default.
+
+
+
+
+ Constructor
+
+ The assembly resolver
+
+
+
+
+
+
+
+
+
+ Type of resource
+
+
+
+
+ It's a
+
+
+
+
+ It's a
+
+
+
+
+ It's a
+
+
+
+
+ Resource base class
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the offset of the resource
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the flags
+
+
+
+
+ Gets the type of resource
+
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Constructor
+
+ Name
+ flags
+
+
+
+ A resource that is embedded in a .NET module. This is the most common type of resource.
+
+
+
+
+ Gets the length of the data
+
+
+
+
+
+
+
+ Constructor
+
+ Name of resource
+ Resource data
+ Resource flags
+
+
+
+ Constructor
+
+ Name of resource
+ Data reader factory
+ Offset of resource data
+ Length of resource data
+ Resource flags
+
+
+
+ Gets a data reader that can access the resource
+
+
+
+
+
+
+
+
+ A reference to a resource in another assembly
+
+
+
+
+
+
+
+ Gets/sets the assembly reference
+
+
+
+
+ Constructor
+
+ Name of resource
+ Assembly reference
+ Resource flags
+
+
+
+
+
+
+ A resource that is stored in a file on disk
+
+
+
+
+
+
+
+ Gets/sets the file
+
+
+
+
+ Gets/sets the hash
+
+
+
+
+ Gets/sets the file name
+
+
+
+
+ Constructor
+
+ Name of resource
+ The file
+ Resource flags
+
+
+
+
+
+
+ A collection of s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ List listener
+
+
+
+ Constructor
+
+ Initial length of the list
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ Finds the index of a resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds the index of an embedded resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds the index of an assembly linked resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds the index of a linked resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds a resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Finds an embedded resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Finds an assembly linked resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Finds a linked resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Built-in resource data
+
+
+
+
+ Gets the data
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Type of data
+ Data
+
+
+
+
+
+
+
+
+
+ Implemented by all resource data
+
+
+
+
+ Gets the type of data
+
+
+
+
+ Start offset of the section in the file
+
+
+
+
+ End offset of the section in the file. This is one byte after the last
+ valid offset in the section.
+
+
+
+
+ Writes the data
+
+ Writer
+ Formatter if needed by implementer
+
+
+
+ Creates resource data
+
+
+
+
+ Gets the owner module
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Gets number of user data types
+
+
+
+
+ Create null data
+
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates array data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates serialized data
+
+ Serialized data
+ Type of serialized data
+
+
+
+
+ Creates serialized data
+
+ Serialized data
+
+
+
+
+ Creates a user type. If the type already exists, the existing value is returned.
+
+ Full name of type
+
+
+
+
+ Creates a user type. If the type already exists, the existing value is returned.
+
+ Full name of type
+ Use without converting it to a
+ type in an existing assembly reference
+
+
+
+
+ Converts an assembly simple name (eg. mscorlib) to the full name of the assembly,
+ which includes the version, public key token, etc. Returns null if it's
+ unknown.
+
+ Simple name of assembly
+
+
+
+
+ Gets all types sorted by
+
+
+
+
+
+ Resource element
+
+
+
+
+ Name of resource
+
+
+
+
+ Data of resource
+
+
+
+
+
+
+
+ Resource element set
+
+
+
+
+ Gets the number of elements in the set
+
+
+
+
+ Gets all resource elements
+
+
+
+
+ Adds a new resource to the set, overwriting any existing resource
+
+
+
+
+
+ Thrown by
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Message
+
+
+
+ Constructor
+
+
+
+
+
+
+ Gets called to create a from serialized data. Returns null
+ if a default instance should be created.
+
+ ResourceDataFactory
+ Serialized type
+ Serialized data
+
+
+
+
+ Reads .NET resources
+
+
+
+
+ Returns true if it's possibly resources file data
+
+ Reader
+
+
+
+
+ Reads a .NET resource
+
+ Owner module
+ Data of resource
+
+
+
+
+ Reads a .NET resource
+
+ Owner module
+ Data of resource
+ Call back that gets called to create a instance. Can be null.
+
+
+
+
+ Type of resource
+
+
+
+
+ null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ array
+
+
+
+
+
+
+
+
+
+ Start of user types
+
+
+
+
+ Writes .NET resources
+
+
+
+
+ Write .NET resources
+
+ Owner module
+ Output stream
+ .NET resources
+
+
+
+ Base class of all user data
+
+
+
+
+ Full name including assembly of type
+
+
+
+
+ User type code
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ User resource type
+
+
+
+
+
+
+ Binary data
+
+
+
+
+ Gets the raw data
+
+
+
+
+ Constructor
+
+ User resource type
+ Raw serialized data
+
+
+
+
+
+
+
+
+
+ User resource type
+
+
+
+
+ Full name including assembly of type
+
+
+
+
+ User type code
+
+
+
+
+ Constructor
+
+ Full name including assembly of type
+ User type code
+
+
+
+
+
+
+ Security action. See CorHdr.h/CorDeclSecurity
+
+
+
+ Mask allows growth of enum.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Persisted grant set at prejit time
+
+
+ Persisted grant set at prejit time
+
+
+ Persisted denied set at prejit time
+
+
+ Persisted denied set at prejit time
+
+
+
+
+
+
+
+
+
+
+
+ Maximum legal value
+
+
+
+ A DeclSecurity security attribute
+
+
+
+
+ Gets/sets the attribute type
+
+
+
+
+ Gets the full name of the attribute type
+
+
+
+
+ Gets all named arguments (field and property values)
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all s that are field arguments
+
+
+
+
+ Gets all s that are property arguments
+
+
+
+
+ Creates a from an XML string.
+
+ Owner module
+ XML
+ A new instance
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Attribute type
+
+
+
+ Constructor
+
+ Attribute type
+ Named arguments that will be owned by this instance
+
+
+
+
+
+
+ See CorSerializationType/CorHdr.h
+
+
+
+
+
+
+ System.Boolean
+
+
+ System.Char
+
+
+ System.SByte
+
+
+ System.Byte
+
+
+ System.Int16
+
+
+ System.UInt16
+
+
+ System.Int32
+
+
+ System.UInt32
+
+
+ System.Int64
+
+
+ System.UInt64
+
+
+ System.Single
+
+
+ System.Double
+
+
+ System.String
+
+
+ Single-dimension, zero lower bound array ([])
+
+
+ System.Type
+
+
+ Boxed value type
+
+
+ A field
+
+
+ A property
+
+
+ An enum
+
+
+
+ Compares types
+
+
+
+
+ Default instance
+
+
+
+
+ Case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compares fields
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compares methods
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compares properties
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+ Compares events
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+ Compares calling convention signatures
+
+
+
+
+ Default instance
+
+
+
+
+ Case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Decides how to compare types, sigs, etc
+
+
+
+
+ Don't compare a type's (assembly/module) scope
+
+
+
+
+ Compares a method/field's declaring type.
+
+
+
+
+ Compares a property's declaring type
+
+
+
+
+ Compares an event's declaring type
+
+
+
+
+ Compares method / field / property / event declaring types
+
+
+
+
+ Compares parameters after a sentinel in method sigs. Should not be enabled when
+ comparing s against s since it's
+ not possible to get those sentinel params from a .
+
+
+
+
+ Compares assembly public key token
+
+
+
+
+ Compares assembly version
+
+
+
+
+ Compares assembly locale
+
+
+
+
+ If set, a and an can reference the
+ global <Module> type.
+
+
+
+
+ Don't compare a method/property's return type
+
+
+
+
+ Type namespaces are case insensitive
+
+
+
+
+ Type names (not namespaces) are case insensitive
+
+
+
+
+ Type names and namespaces are case insensitive
+
+
+
+
+ Method and field names are case insensitive
+
+
+
+
+ Property names are case insensitive
+
+
+
+
+ Event names are case insensitive
+
+
+
+
+ Type namespaces, type names, method names, field names, property names
+ and event names are all case insensitive
+
+
+
+
+ A field that is can compare equal to
+ a
+
+
+
+
+ A method that is can compare equal to
+ a
+
+
+
+
+ A field that is and a method that is
+ can compare equal to a
+
+
+
+
+ Raw (bit by bit) comparison of signatures. This matches what the CLR does when it
+ compares signatures. This means that metadata tokens will be compared.
+
+
+
+
+ Ignore required and optional modifiers when comparing s.
+ They're already ignored when comparing eg. a with a
+ .
+
+
+
+
+ By default, all module and assembly compares when they're both the system library
+ (eg. mscorlib or System.Runtime.dll) return true, even if they're really different,
+ eg. mscorlib (.NET 2.0) vs mscorlib (Windows CE). If this flag is set, the system
+ library is compared just like any other module/assembly.
+
+
+
+
+ Don't project CLR compatible WinMD references back to the original CLR type/method before comparing
+
+
+
+
+ Don't check type equivalence when comparing types. Starting with .NET 4.0, two different
+ types can be considered equivalent if eg. a TypeIdentifierAttribute is used.
+
+
+
+
+ When comparing types, don't compare a multi-dimensional array's lower bounds and sizes
+
+
+
+
+ Compares types, signatures, methods, fields, properties, events
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+ Constructor
+
+ Comparison options
+ The module which the comparison take place in.
+
+
+
+ is mapped to , so use
+ the same hash code for both
+
+
+
+
+ Compare members
+
+ Member #1
+ Member #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a member
+
+ The member
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares resolution scopes
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares implementation
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares resolution scope and implementation
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares files
+
+ File #1
+ File #2
+ true if same, false otherwise
+
+
+
+ Compares a module with a file
+
+ Module
+ File
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares assemblies
+
+ Assembly #1
+ Assembly #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares type lists
+
+ Type list #1
+ Type list #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type list
+
+ The type list
+ The hash code
+
+
+
+ Compares signatures
+
+ Sig #1
+ Sig #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a sig
+
+ The sig
+ The hash code
+
+
+
+ Compares method/property sigs
+
+ Method/property #1
+ Method/property #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a method/property sig
+
+ The method/property sig
+ The hash code
+
+
+
+ Compares field sigs
+
+ Field sig #1
+ Field sig #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field sig
+
+ The field sig
+ The hash code
+
+
+
+ Compares local sigs
+
+ Local sig #1
+ Local sig #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a local sig
+
+ The local sig
+ The hash code
+
+
+
+ Compares generic method instance sigs
+
+ Generic inst method #1
+ Generic inst method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a generic instance method sig
+
+ The generic inst method sig
+ The hash code
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a method
+
+ The method
+ The hash code
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a method
+
+ The method
+ The hash code
+
+
+
+ Compares MemberRefs
+
+ MemberRef #1
+ MemberRef #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MemberRef
+
+ The MemberRef
+ The hash code
+
+
+
+ Compares MethodSpecs
+
+ MethodSpec #1
+ MethodSpec #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MethodSpec
+
+ The MethodSpec
+ The hash code
+
+
+
+ Compares MemberRefParents
+
+ MemberRefParent #1
+ MemberRefParent #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MemberRefParent
+
+ The MemberRefParent
+ The hash code
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field
+
+ The field
+ The hash code
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field
+
+ The field
+ The hash code
+
+
+
+ Compares properties
+
+ Property #1
+ Property #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a property
+
+ The property
+ The hash code
+
+
+
+ Compares events
+
+ Event #1
+ Event #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of an event
+
+ The event
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Checks whether it's FnPtr&, FnPtr*, FnPtr[], or FnPtr[...]
+
+ The type
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if we should treat
+ as a generic instance type
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Gets the hash code of a type
+
+ The type
+ true if we should treat
+ as a generic instance type
+ The hash code
+
+
+
+ Gets the hash code of a type list
+
+ The type list
+ The hash code
+
+
+
+ Gets the hash code of a list with only generic method parameters ()
+
+ Number of generic method parameters
+ Hash code
+
+
+
+ Gets the hash code of a TypeDef type
+
+ The type
+ The hash code
+
+
+
+ Compares type lists
+
+ Type list #1
+ Type list #2
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares a file and a module
+
+ File
+ Module
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares assemblies
+
+ Assembly #1
+ Assembly #2
+ true if same, false otherwise
+
+
+
+ Compares method declaring types
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares method sigs
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares method sigs
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares generic method args, making sure only
+ contains s.
+
+ Number of generic method args in method #1
+ Generic method args in method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MethodBase
+
+ The MethodBase
+ The hash code
+
+
+
+ Gets the hash code of a parameter list
+
+ The type list
+ Declaring type of method that owns parameter
+ The hash code
+
+
+
+ Compares calling conventions
+
+ Calling convention
+ Method
+
+
+
+
+ Compares return types
+
+ Return type #1
+ MethodBase
+ true if same, false otherwise
+
+
+
+ Compares parameter lists
+
+ Type list #1
+ Type list #2
+ Declaring type of method that owns parameter
+ true if same, false otherwise
+
+
+
+ Compares parameter types
+
+ Parameter type #1
+ Parameter #2
+ Declaring type of method that owns parameter
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field
+
+ The field
+ The hash code
+
+
+
+ Compares properties
+
+ Property #1
+ Property #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a property
+
+ The property
+ The hash code
+
+
+
+ Compares events
+
+ Event #1
+ Event #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of an event
+
+ The event
+ The hash code
+
+
+
+
+
+
+ Helps resolve types
+
+
+
+
+ Resolves a
+
+ A TypeDefOrRef coded token
+ Generic parameter context
+ A or null if
+ is invalid
+
+
+
+ Converts the address of a to a
+
+
+ Address of . This is also known as the
+ method table and has the same value as
+ A or null if not supported
+
+
+
+ Reads signatures from the #Blob stream
+
+
+
+
+ Reads a signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ Generic parameter context
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Constructor
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+
+
+
+ Constructor
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+
+
+
+ Reads the signature
+
+ A new instance or null if invalid signature
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads the next type
+
+ A new instance or null if invalid element type
+
+
+
+ A high-level representation of a row in the StandAloneSig table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column StandAloneSig.Signature
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the method sig
+
+
+
+
+ Gets/sets the locals sig
+
+
+
+
+
+
+
+ A StandAloneSig row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ A locals sig
+
+
+
+ Constructor
+
+ A method sig
+
+
+
+ Created from a row in the StandAloneSig table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this StandAloneSig row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Thrown if the strong name key or public key is invalid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ Other exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ Type of signature algorithm. See WinCrypt.h in the Windows SDK
+
+
+
+
+ RSA signature algorithm
+
+
+
+
+ A public key
+
+
+
+
+ Gets/sets the signature algorithm
+
+
+
+
+ Gets/sets the hash algorithm
+
+
+
+
+ Gets/sets the modulus
+
+
+
+
+ Gets/sets the public exponent
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Modulus
+ Public exponent
+
+
+
+ Constructor
+
+ Modulus
+ Public exponent
+ Hash algorithm
+
+
+
+ Constructor
+
+ Modulus
+ Public exponent
+ Hash algorithm
+ Signature algorithm
+
+
+
+ Constructor
+
+ Public key
+
+
+
+ Constructor
+
+ Public key data
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Public key file
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Public key stream
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Public key reader
+ Strong name key is invalid
+
+
+
+ Creates a public key blob
+
+
+
+
+
+
+
+ Stores a strong name key pair
+
+
+
+
+ Gets the public key
+
+
+
+
+ Gets the strong name signature size in bytes
+
+
+
+
+ Gets the public key hash algorithm. It's usually
+
+
+
+
+ Gets the public exponent
+
+
+
+
+ Gets the modulus
+
+
+
+
+ Gets prime1
+
+
+
+
+ Gets prime2
+
+
+
+
+ Gets exponent1
+
+
+
+
+ Gets exponent2
+
+
+
+
+ Gets the coefficient
+
+
+
+
+ Gets the private exponent
+
+
+
+
+ Constructor
+
+ Strong name key data
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Strong name key file
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Strong name key stream
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Strong name key reader
+ Strong name key is invalid
+
+
+
+ Creates a strong name key with a new hash algorithm
+
+ Algorithm
+
+
+
+
+ Creates an instance
+
+
+
+
+ Creates a strong name blob
+
+
+
+
+ Creates a counter signature, just like
+ sn -a IdentityPubKey.snk IdentityKey.snk SignaturePubKey.snk can do.
+ The public key sn prints is 's value.
+
+ Identity public key
+ Identity strong name key pair
+ Signature public key
+ The counter signature as a hex string
+
+
+
+ Creates a counter signature, just like
+ sn -a IdentityPubKey.snk IdentityKey.snk SignaturePubKey.snk can do.
+ The public key sn prints is 's value.
+
+ Identity public key
+ Identity strong name key pair
+ Signature public key
+ The counter signature
+
+
+
+ Strong name signs an assembly. It supports normal strong name signing and the new
+ (.NET 4.5) enhanced strong name signing.
+
+
+
+
+ Constructor
+
+ .NET PE file stream
+
+
+
+ Constructor
+
+ .NET PE file stream
+ Offset in of the first byte of
+ the PE file.
+
+
+
+ Calculates the strong name signature and writes it to the stream. The signature
+ is also returned.
+
+ Strong name key used for signing
+ Offset (relative to the start of the PE file) of the strong
+ name signature.
+ The strong name signature
+
+
+
+ Calculates and returns the strong name signature
+
+ Strong name key used for signing
+ Offset (relative to start of PE file) of the strong
+ name signature.
+ The strong name signature
+
+
+
+ Strong name hashes the .NET file
+
+ Hash algorithm
+ Strong name sig offset (relative to start of .NET PE file)
+ Size of strong name signature
+ The strong name hash of the .NET file
+
+
+
+ Returns the strong name signature
+
+ Strong name key
+ Hash algorithm
+ Strong name hash of the .NET PE file
+ Strong name signature
+
+
+
+ System.Runtime.InteropServices.TypeIdentifierAttribute helper code used by
+
+
+
+
+ TypeDef and ExportedType flags. See CorHdr.h/CorTypeAttr
+
+
+
+ Use this mask to retrieve the type visibility information.
+
+
+ Class is not public scope.
+
+
+ Class is public scope.
+
+
+ Class is nested with public visibility.
+
+
+ Class is nested with private visibility.
+
+
+ Class is nested with family visibility.
+
+
+ Class is nested with assembly visibility.
+
+
+ Class is nested with family and assembly visibility.
+
+
+ Class is nested with family or assembly visibility.
+
+
+ Use this mask to retrieve class layout information
+
+
+ Class fields are auto-laid out
+
+
+ Class fields are laid out sequentially
+
+
+ Layout is supplied explicitly
+
+
+ Use this mask to retrieve class semantics information.
+
+
+ Use this mask to retrieve class semantics information.
+
+
+ Type is a class.
+
+
+ Type is an interface.
+
+
+ Class is abstract
+
+
+ Class is concrete and may not be extended
+
+
+ Class name is special. Name describes how.
+
+
+ Class / interface is imported
+
+
+ The class is Serializable.
+
+
+ The type is a Windows Runtime type
+
+
+ Use StringFormatMask to retrieve string information for native interop
+
+
+ LPTSTR is interpreted as ANSI in this class
+
+
+ LPTSTR is interpreted as UNICODE
+
+
+ LPTSTR is interpreted automatically
+
+
+ A non-standard encoding specified by CustomFormatMask
+
+
+ Use this mask to retrieve non-standard encoding information for native interop. The meaning of the values of these 2 bits is unspecified.
+
+
+ Initialize the class any time before first static field access.
+
+
+ This ExportedType is a type forwarder.
+
+
+ Flags reserved for runtime use.
+
+
+ Runtime should check name encoding.
+
+
+ Class has security associate with it.
+
+
+
+ A high-level representation of a row in the TypeDef table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always returns false since a does not contain any
+ or .
+
+
+
+
+
+
+
+ Gets/sets the owner module
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ From column TypeDef.Flags
+
+
+
+ Attributes
+
+
+
+ From column TypeDef.Name
+
+
+
+ Name
+
+
+
+ From column TypeDef.Namespace
+
+
+
+ Name
+
+
+
+ From column TypeDef.Extends
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ From column TypeDef.FieldList
+
+
+
+
+
+
+ Initializes
+
+
+
+ From column TypeDef.MethodList
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the interfaces
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the class layout
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+
+
+
+ Gets/sets the enclosing type. It's null if this isn't a nested class.
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ Gets all the nested types
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all events
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all properties
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets/sets the packing size. If you write to this property but
+ is null, it will be created. The value is returned
+ if is null.
+
+
+
+
+ Gets/sets the class size. If you write to this property but
+ is null, it will be created. The value is returned
+ if is null.
+
+
+
+
+
+
+
+ true if it's an enum
+
+
+
+
+ true if it's a delegate (it derives from )
+
+
+
+
+ true if this is a nested type (it has a declaring type)
+
+
+
+
+
+
+
+ Checks whether this type has opted into equivalence
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the layout
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the string format
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if this is the global (aka. <Module>) type
+
+
+
+
+ Gets a list of all nested types and all their nested types
+
+
+
+
+ Gets an enum's underlying type or null if none. Should only be called
+ if this is an enum.
+
+
+
+
+ Resolves a method or a field. (owner type) is ignored when
+ resolving the method/field. Private scope methods/fields are not returned.
+
+ A method/field reference
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Resolves a method or a field. (owner type) is ignored when
+ resolving the method/field.
+
+ A method/field reference
+ Method/field signature comparison options
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Finds a method. Private scope methods are not returned.
+
+ Method name
+ Method signature
+ The first method that matches or null if none found
+
+
+
+ Finds a method
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The first method that matches or null if none found
+
+
+
+ Finds a method
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The module that needs to find the method or null
+ The first method that matches or null if none found
+
+
+
+ Finds a method by name
+
+ Name of method
+ The or null if not found
+
+
+
+ Finds all methods by name
+
+ Name of method
+ All methods with that name
+
+
+
+ Finds the class constructor (aka type initializer). It's the method named .cctor
+
+ The class constructor or null if none found
+
+
+
+ Finds the class constructor (aka type initializer). It's the method named .cctor.
+ If it doesn't exist, it is created, inserted into and returned.
+ The created .cctor will have just one RET instruction.
+
+ The class constructor
+
+
+
+ Finds all instance constructors (not class constructors)
+
+ All instance constructors
+
+
+
+ Finds all static and instance constructors
+
+ All static and instance constructors
+
+
+
+ Finds the default instance constructor (the one with no arguments)
+
+ The default instance constructor or null if none
+
+
+
+ Finds a field. Private scope fields are not returned.
+
+ Field name
+ Field signature
+ The first field that matches or null if none found
+
+
+
+ Finds a field
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The first field that matches or null if none found
+
+
+
+ Finds a field
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The module that needs to find the field or null
+ The first field that matches or null if none found
+
+
+
+ Finds a field by name
+
+ Name of field
+ The or null if not found
+
+
+
+ Finds all fields by name
+
+ Name of field
+ All fields with that name
+
+
+
+ Finds an event
+
+ Name of event
+ Type of event
+ A or null if not found
+
+
+
+ Finds an event
+
+ Name of event
+ Type of event
+ Event type comparison options
+ A or null if not found
+
+
+
+ Finds an event
+
+ Name of event
+ Type of event
+ Event type comparison options
+ The module that needs to find the event or null
+ A or null if not found
+
+
+
+ Finds an event by name
+
+ Name of event
+ The or null if not found
+
+
+
+ Finds all events by name
+
+ Name of event
+ All events with that name
+
+
+
+ Finds a property
+
+ Name of property
+ Property signature
+ A or null if not found
+
+
+
+ Finds a property
+
+ Name of property
+ Property signature
+ Property signature comparison options
+ A or null if not found
+
+
+
+ Finds a property
+
+ Name of property
+ Property signature
+ Property signature comparison options
+ The module that needs to find the property or null
+ A or null if not found
+
+
+
+ Finds a prop by name
+
+ Name of prop
+ The or null if not found
+
+
+
+ Finds all props by name
+
+ Name of prop
+ All props with that name
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ Method signature
+ The method or null if it wasn't found
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The method or null if it wasn't found
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The module that needs to find the method or null
+ The method or null if it wasn't found
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ The method or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ Field signature
+ The field or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The field or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The module that needs to find the field or null
+ The field or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ The field or null if it wasn't found
+
+
+
+ Finds an event by checking this type or any of its base types
+
+ Event name
+ Event type
+ The event or null if it wasn't found
+
+
+
+ Finds an event by checking this type or any of its base types
+
+ Event name
+ The event or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ Property signature
+ The property or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ Property signature
+ Property signature comparison options
+ The property or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ Property signature
+ Property signature comparison options
+ The module that needs to find the property or null
+ The property or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ The property or null if it wasn't found
+
+
+
+ Removes a method from this type. It also removes it from any properties and events.
+
+ The method to remove
+
+
+
+ Removes a method from this type. It also removes it from any properties and events.
+
+ The method to remove
+ true if we should remove all
+ empty properties and events.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all fields named
+
+ Field name
+ A list of 0 or more fields with name
+
+
+
+ Gets the first field named
+
+ Field name
+ The field or null if none found
+
+
+
+ FInd a method implementation method
+
+ Method
+
+
+
+
+
+
+
+ A TypeDef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Namespace
+ Name
+
+
+
+ Constructor
+
+ Name
+ Base class or null if it's an interface
+
+
+
+ Constructor
+
+ Namespace
+ Name
+ Base class or null if it's an interface
+
+
+
+ Created from a row in the TypeDef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this TypeDef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Gets all methods overrides
+
+ The method
+ Generic parameter context
+ A list (possibly empty) of all methods overrides
+
+
+
+ Initializes all . Only those s
+ that are property or event handlers get updated.
+
+
+
+
+ Initializes a property's special methods
+
+ The property
+ Updated with a list of all get methods
+ Updated with a list of all set methods
+ Updated with a list of all other methods
+
+
+
+ Initializes an event's special methods
+
+ The event
+ Updated with the addOn method or null if none
+ Updated with the fire method or null if none
+ Updated with the removeOn method or null if none
+ Updated with a list of all other methods
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Finds s
+
+
+
+
+ true if the cache is enabled. false if the cache
+ is disabled and a slower O(n) lookup is performed.
+
+
+
+
+ Constructor
+
+ All root types. All their nested types are also included.
+ If is null
+
+
+
+ Constructor
+
+ All root types
+ true if all nested types that are reachable
+ from should also be included.
+ If is null
+
+
+
+ Resets the cache (clears all cached elements). Use this method if the cache is
+ enabled but some of the types have been modified (eg. removed, added, renamed).
+
+
+
+
+
+
+
+
+
+
+ Gets the next or null if there are no more left
+
+ The next or null if none
+
+
+
+ Gets the next or null if there are no more left.
+ The cache is updated with the returned before the method
+ returns.
+
+ The next or null if none
+
+
+
+
+
+
+ Various helper methods for classes to prevent infinite recursion
+
+
+
+
+ Checks whether contains a or a
+ .
+
+ Calling convention signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Field signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Method or property signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Local signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Generic method signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Thrown by when it fails to parse a type name
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Helps create types
+
+
+
+
+ Finds a 's when the original assembly
+ info is missing from the full type name.
+
+ A non-nested
+ 's or null
+
+
+
+ Parses a type name and creates an
+
+
+
+ Owner module
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance or null if parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance or null if parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance or null if parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance or null if parsing failed
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+
+
+
+ Parses a type name and creates a
+
+ A new instance
+ If parsing failed
+
+
+
+ Parses a type name and creates a
+
+ A new instance
+ If parsing failed
+
+
+
+ Increment recursion counter
+
+ If this method has been called too many times
+
+
+
+ Decrement recursion counter
+
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Reads a including any possible nested s.
+
+ Character separating nested types
+ A new instance, which could be nested.
+
+
+
+ Reads a namespace and name and creates a TypeRef. Does not read any nested types.
+
+ A new instance
+
+
+
+ Peeks the next char. -1 if no more chars.
+
+
+
+
+ Gets the next char or -1 if no more chars
+
+
+
+
+ Gets the next ID char or -1 if no more ID chars
+
+ true if white space should be ignored
+
+
+
+ Parses reflection type names. Grammar http://msdn.microsoft.com/en-us/library/yfsftwz6.aspx
+
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+
+
+
+ Parses an assembly name
+
+ Full assembly name
+ A new instance or null if parsing failed
+
+
+
+ Parses an assembly name
+
+ Full assembly name
+ Generic parameter context
+ A new instance or null if parsing failed
+
+
+
+
+
+
+ A high-level representation of a row in the TypeRef table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always returns false since a does not contain any
+ or .
+
+
+
+
+
+
+
+ From column TypeRef.ResolutionScope
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ From column TypeRef.Name
+
+
+
+ Name
+
+
+
+ From column TypeRef.Namespace
+
+
+
+ Name
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if it's nested within another
+
+
+
+
+
+
+
+
+
+
+ Gets the declaring type, if any
+
+
+
+
+
+
+
+ Resolves the type
+
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ The module that needs to resolve the type or null
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Resolves the type
+
+ The module that needs to resolve the type or null
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Gets the top-most (non-nested)
+
+ Input
+ The non-nested or null
+
+
+
+
+
+
+ A TypeRef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+ Type name
+
+
+
+ Constructor
+
+ Owner module
+ Type namespace
+ Type name
+
+
+
+ Constructor
+
+ Owner module
+ Type namespace
+ Type name
+ Resolution scope (a ,
+ , or )
+
+
+
+ Created from a row in the TypeRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this TypeRef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Type sig base class
+
+
+
+
+ Returns the wrapped element type. Can only be null if it was an invalid sig or
+ if it's a
+
+
+
+
+ Gets the element type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a or a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if this contains a or a
+ .
+
+
+
+
+
+
+
+ Base class for element types that are last in a type sig, ie.,
+ , , ,
+ ,
+
+
+
+
+
+
+
+ Wraps a
+
+
+
+
+ Gets the the TypeDefOrRef
+
+
+
+
+ Returns true if != null
+
+
+
+
+ Returns true if != null
+
+
+
+
+ Returns true if != null
+
+
+
+
+ Gets the or null if it's not a
+
+
+
+
+ Gets the or null if it's not a
+
+
+
+
+ Gets the or null if it's not a
+
+
+
+
+ Constructor
+
+ A , or
+ a
+
+
+
+ A core library type
+
+
+
+
+ Gets the element type
+
+
+
+
+ Constructor
+
+ The type which must be a or a
+ . and null are not allowed.
+ The type's element type
+
+
+
+ Base class for class/valuetype element types
+
+
+
+
+ Constructor
+
+ A
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ A
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ A
+
+
+
+ Generic method/type var base class
+
+
+
+
+ true if it has an owner or
+
+
+
+
+ true if it has an owner ( is
+ not null)
+
+
+
+
+ true if it has an owner ( is
+ not null)
+
+
+
+
+ Gets the owner type or null if the owner is a or if it
+ has no owner.
+
+
+
+
+ Gets the owner method or null if the owner is a or if it
+ has no owner.
+
+
+
+
+ Gets the generic param number
+
+
+
+
+ Gets the corresponding or null if none exists.
+
+
+
+
+ Constructor
+
+ true if it's a Var, false if it's a MVar
+ Generic param number
+
+
+
+ Constructor
+
+ true if it's a Var, false if it's a MVar
+ Generic param number
+ Owner method/type or null
+
+
+
+ Returns true if it's a MVar element type
+
+
+
+
+ Returns true if it's a Var element type
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner type or null
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner type or null
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner method or null
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner method or null
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets the signature
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+ The method signature
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets the generic type
+
+
+
+
+ Gets the generic arguments (it's never null)
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The generic type
+
+
+
+ Constructor
+
+ The generic type
+ Number of generic arguments
+
+
+
+ Constructor
+
+ The generic type
+ Number of generic arguments
+
+
+
+ Constructor
+
+ The generic type
+ Generic argument #1
+
+
+
+ Constructor
+
+ The generic type
+ Generic argument #1
+ Generic argument #2
+
+
+
+ Constructor
+
+ The generic type
+ Generic argument #1
+ Generic argument #2
+ Generic argument #3
+
+
+
+ Constructor
+
+ The generic type
+ Generic arguments
+
+
+
+ Constructor
+
+ The generic type
+ Generic arguments
+
+
+
+ Base class of non-leaf element types
+
+
+
+
+
+
+
+ Constructor
+
+ Next sig
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+ Array base class
+
+
+
+
+ Constructor
+
+ Array type
+
+
+
+ true if it's a multi-dimensional array (i.e., ),
+ and false if it's a single-dimensional array (i.e., )
+
+
+
+
+
+ true if it's a single-dimensional array (i.e., ),
+ and false if it's a multi-dimensional array (i.e., )
+
+
+
+
+
+ Gets/sets the rank (number of dimensions). This can only be set if
+ is true
+
+
+
+
+ Gets all sizes. If it's a , then it will be an empty temporary
+ list that is re-created every time this method is called.
+
+ A list of sizes
+
+
+
+ Gets all lower bounds. If it's a , then it will be an empty
+ temporary list that is re-created every time this method is called.
+
+ A list of lower bounds
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+ Gets/sets the rank (max value is 0x1FFFFFFF)
+
+
+
+
+ Gets all sizes (max elements is 0x1FFFFFFF)
+
+
+
+
+ Gets all lower bounds (max elements is 0x1FFFFFFF)
+
+
+
+
+ Constructor
+
+ Array type
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+ Sizes list. This instance will be the owner of this list.
+ Lower bounds list. This instance will be the owner of this list.
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+ Sizes list. This instance will be the owner of this list.
+ Lower bounds list. This instance will be the owner of this list.
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+ Sizes list. This instance will be the owner of this list.
+ Lower bounds list. This instance will be the owner of this list.
+
+
+
+
+
+
+
+
+
+ Represents a (single dimension, zero lower bound array)
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+
+
+
+
+
+
+ Base class for modifier type sigs
+
+
+
+
+ Returns the modifier type
+
+
+
+
+ Constructor
+
+ Modifier type
+ The next element type
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets/sets the size
+
+
+
+
+ Constructor
+
+ The next element type
+ Size of the array
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets/sets the index
+
+
+
+
+ Constructor
+
+ Index
+ The next element type
+
+
+
+ A high-level representation of a row in the TypeSpec table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column TypeSpec.Signature
+
+
+
+
+ Gets/sets the extra data that was found after the signature
+
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ A TypeSpec row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ A type sig
+
+
+
+ Created from a row in the TypeSpec table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this TypeSpec row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Compares s
+
+
+
+
+ The default instance
+
+
+
+
+
+
+
+
+
+
+ A UTF-8 encoded string where the original data is kept in memory to avoid conversions
+ when the data is not really valid UTF-8 encoded data
+
+ When comparing strings, a byte compare is performed. The reason is that this
+ is what the CLR does when comparing strings in the #Strings stream.
+
+
+
+ An empty
+
+
+
+
+ Gets the value as a UTF8 decoded string. Only use it for display purposes,
+ not for serialization.
+
+
+
+
+ Gets the original encoded data. Don't modify this data.
+
+
+
+
+ Gets the length of the this as a . I.e., it's the same as
+ String.Length.
+
+
+
+
+
+ Gets the length of the raw data. It's the same as Data.Length
+
+
+
+
+
+ Checks whether is null or if its data is null.
+
+ The instance to check
+ true if null or empty, false otherwise
+
+
+
+ Checks whether is null or if its data is null or the
+ data is zero length.
+
+ The instance to check
+ true if null or empty, false otherwise
+
+
+ Implicit conversion from to
+
+
+ Implicit conversion from to
+
+
+
+ Converts it to a
+
+ The UTF-8 string instace or null
+ A or null if is null
+
+
+
+ Converts it to a or an empty string if is null
+
+ The UTF-8 string instace or null
+ A (never null)
+
+
+
+ Gets the hash code of a
+
+ Input
+
+
+
+
+
+
+ Compares two instances (case sensitive)
+
+ Instance #1 or null
+ Instance #2 or null
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two instances (case insensitive)
+
+ Instance #1 or null
+ Instance #2 or null
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two instances (case insensitive)
+
+ Instance #1 or null
+ Instance #2 or null
+ true if equals, false otherwise
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+
+ Constructor
+
+ UTF-8 data that this instance now owns
+
+
+
+ Constructor
+
+ The string
+
+
+
+ Compares two instances
+
+ First
+ Second
+ true if equals, false otherwise
+
+
+
+
+
+
+
+
+
+ Checks whether exists in this string
+
+ Value to find
+ true if exists in string or is the
+ empty string, else false
+
+
+
+ Checks whether matches the end of this string
+
+ Value
+
+
+
+
+ Checks whether matches the end of this string
+
+ Value
+ true to ignore case
+ Culture info
+
+
+
+
+ Checks whether matches the end of this string
+
+ Value
+ Comparison type
+
+
+
+
+ Checks whether matches the beginning of this string
+
+ Value
+
+
+
+
+ Checks whether matches the beginning of this string
+
+ Value
+ true to ignore case
+ Culture info
+
+
+
+
+ Checks whether matches the beginning of this string
+
+ Value
+ Comparison type
+
+
+
+
+ Compares this instance with
+
+ Other string
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Returns the index of the first character in this string
+
+ Character
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first character in this string
+ starting from index
+
+ Character
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first character in this string
+ starting from index for max
+ characters.
+
+ Character
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+
+ String
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index
+
+ String
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index
+
+ String
+ Start index
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+
+ String
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last character in this string
+
+ Character
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last character in this string
+ starting from index
+
+ Character
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last character in this string
+ starting from index for max
+ characters.
+
+ Character
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+
+ String
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index
+
+ String
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index
+
+ String
+ Start index
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+
+ String
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Inserts string at a index
+
+ Start index
+ Value to insert
+ A new instance with the inserted at position
+
+
+
+
+ Removes all characters starting from position
+
+ Start index
+ A new instance
+
+
+
+ Removes characters starting from position
+
+
+ Start index
+ Number of characters to remove
+ A new instance
+
+
+
+ Replaces all characters with
+
+ Character to find
+ Character to replace all
+ A new instance
+
+
+
+ Replaces all sub strings with
+
+ Sub string to find
+ Sub string to replace all
+ A new instance
+
+
+
+ Returns a sub string of this string starting at offset
+
+ Start index
+ A new instance
+
+
+
+ Returns a sub string of this string starting at offset .
+ Length of sub string is .
+
+ Start index
+ Length of sub string
+ A new instance
+
+
+
+ Returns the lower case version of this string
+
+ A new instance
+
+
+
+ Returns the lower case version of this string
+
+ Culture info
+ A new instance
+
+
+
+ Returns the lower case version of this string using the invariant culture
+
+ A new instance
+
+
+
+ Returns the upper case version of this string
+
+ A new instance
+
+
+
+ Returns the upper case version of this string
+
+ Culture info
+ A new instance
+
+
+
+ Returns the upper case version of this string using the invariant culture
+
+ A new instance
+
+
+
+ Removes all leading and trailing whitespace characters
+
+ A new instance
+
+
+
+
+
+
+
+
+
+ Compares byte arrays
+
+
+
+
+ Default instance
+
+
+
+
+
+
+
+
+
+
+ Returns an assembly name string
+
+ Simple assembly name
+ Version or null
+ Culture or null
+ Public key / public key token or null
+ Assembly attributes
+ An assembly name string
+
+
+
+ Convert a byte[] to a
+
+ All bytes
+ true if output should be in upper case hex
+ as a hex string
+
+
+
+ Converts a hex string to a byte[]
+
+ A string with an even number of hex characters
+ converted to a byte[] or null
+ if is invalid
+
+
+
+ Converts a character to a hex digit
+
+ Hex character
+ 0x00-0x0F if successful, -1 if is not
+ a valid hex digit
+
+
+
+ Compares two byte arrays
+
+ Byte array #1
+ Byte array #2
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two byte arrays are equal
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a byte array
+
+ Byte array
+ The hash code
+
+
+
+ Compares two versions
+
+ This differs from if the build
+ and/or revision numbers haven't been initialized or if one of the args is null.
+
+ Version #1 or null to be treated as v0.0.0.0
+ Version #2 or null to be treated as v0.0.0.0
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two versions are the same
+
+ This differs from if the build
+ and/or revision numbers haven't been initialized or if one of the args is null.
+
+ Version #1 or null to be treated as v0.0.0.0
+ Version #2 or null to be treated as v0.0.0.0
+ true if same, false otherwise
+
+
+
+ Creates a new instance with no undefined version values (eg.
+ the build and revision values won't be -1).
+
+ A instance
+ A new instance
+
+
+
+ Parses a version string
+
+ Version string
+ A new or null if
+ is an invalid version
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a locale
+
+ Value
+ The hash code
+
+
+
+ Align up
+
+ Value
+ Alignment
+
+
+
+ Align up
+
+ Value
+ Alignment
+
+
+
+ Variant type (VT_XXX in the Windows SDK)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This wasn't present in the blob
+
+
+
+ All native vtables
+
+
+
+
+ Gets/sets the RVA of the vtable fixups
+
+
+
+
+ Gets all s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Module
+
+
+
+
+
+
+
+
+
+ See COR_VTABLE_XXX in CorHdr.h
+
+
+
+
+ 32-bit vtable slots
+
+
+
+
+ 64-bit vtable slots
+
+
+
+
+ Transition from unmanaged code
+
+
+
+
+ Also retain app domain
+
+
+
+
+ Call most derived method
+
+
+
+
+ One VTable accessed by native code
+
+
+
+
+ Gets/sets the of this vtable
+
+
+
+
+ Gets/sets the flags
+
+
+
+
+ true if each vtable slot is 32 bits in size
+
+
+
+
+ true if each vtable slot is 64 bits in size
+
+
+
+
+ Gets the vtable methods
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Flags
+
+
+
+ Constructor
+
+ RVA of this vtable
+ Flgas
+ Number of methods in vtable
+
+
+
+ Constructor
+
+ RVA of this vtable
+ Flgas
+ Vtable methods
+
+
+
+
+
+
+
+
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+ true if the returned type is a value type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+ true if the returned type is a value type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD member reference to a CLR member reference. Returns
+ null if it's not a CLR compatible WinMD member reference.
+
+ Owner module or null
+ Member reference
+
+
+
+
+ Converts WinMD method to a CLR member reference. Returns
+ null if it's not a CLR compatible WinMD method
+
+ Owner module or null
+ Method
+
+
+
+
+ WinMD status
+
+
+
+
+ This is not a WinMD file
+
+
+
+
+ This is a pure WinMD file (not managed)
+
+
+
+
+ This is a managed WinMD file (created by eg. winmdexp.exe)
+
+
+
+
+ Writes data
+
+
+
+
+ Gets the current position
+
+
+
+
+ Constructor
+
+ Destination array
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes bytes
+
+ Bytes
+
+
+
+ Writes bytes
+
+ Bytes
+ Source index
+ Number of bytes to write
+
+
+
+ #Blob heap
+
+
+
+
+
+
+
+ Populates blobs from an existing (eg. to preserve
+ blob offsets)
+
+ The #Blob stream with the original content
+
+
+
+ Adds data to the #Blob heap
+
+ The data
+ The offset of the data in the #Blob heap
+
+
+
+ Adds data to the #Blob heap, but does not re-use an existing position
+
+ The data
+ The offset of the data in the #Blob heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stores a byte array
+
+
+
+
+
+
+
+
+
+
+ Gets the data
+
+
+
+
+ Constructor
+
+ The data. It will be owned by this instance and can't be modified by
+ other code if this instance is inserted as a key in a dictionary (because
+ return value will be different if you modify the array). If
+ it's never inserted as a key in a dictionary, then the contents can be modified,
+ but shouldn't be resized after has been called.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Checksum algorithm
+
+
+
+
+ SHA-1
+
+
+
+
+ SHA-256
+
+
+
+
+ SHA-384
+
+
+
+
+ SHA-512
+
+
+
+
+ Contains a list of s
+
+
+
+
+ Default constructor
+
+
+
+
+ Add a
+
+ The chunk to add or null if none
+ Chunk alignment
+
+
+
+ Remove a
+
+ The chunk to remove or null if none
+ Alignment of the chunk, or null if the chunk cannot be removed.
+
+
+
+ Base class of chunk list types
+
+ Chunk type
+
+
+ All chunks
+
+
+ true if has been called
+
+
+
+ Helper struct
+
+
+
+ Data
+
+
+ Alignment
+
+
+
+ Constructor
+
+ Chunk
+ Alignment
+
+
+
+ Equality comparer for
+
+
+
+
+ Constructor
+
+ Compares the chunk type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Helps write custom attributes
+
+
+
+
+ Writes s
+
+
+
+
+ Writes a custom attribute
+
+ Helper class
+ The custom attribute
+ Custom attribute blob
+
+
+
+ Writes custom attribute named arguments
+
+ Helper class
+ Named arguments
+ The named args blob
+
+
+
+ Write a value
+
+ The ctor arg type, field type, or property type
+ The value to write
+
+
+
+ Gets the enum's underlying type
+
+ An enum type
+ The underlying type or null if we couldn't resolve the type ref
+
+
+
+ Converts to a , possibly resolving
+ a
+
+ The type
+ A or null if we couldn't resolve the
+ or if is a type spec
+
+
+
+
+
+
+ A chunk
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The data
+
+
+
+ Constructor
+
+ The data
+ Virtual size of
+
+
+
+ Constructor
+
+ The data
+
+
+
+ Constructor
+
+ The data
+ Virtual size of
+
+
+
+ Gets the data reader
+
+
+
+
+ Replaces the old data with new data. The new data must be the same size as the old data if
+ has been called. That method gets called after
+ event
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copies existing data to a new metadata heap
+
+
+
+
+ Gets the name of the heap
+
+
+
+
+ Constructor
+
+ The stream whose data will be copied to the new metadata file
+
+
+
+ Constructor
+
+ Heap name
+ Heap content
+
+
+
+
+
+
+
+
+
+ Writes data
+
+
+
+
+ Gets/sets the position
+
+
+
+
+ Constructor
+
+ Destination stream
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes bytes
+
+ Bytes to write
+
+
+
+ Writes bytes
+
+ Bytes to write
+ Index to start copying from
+ Number of bytes to copy
+
+
+
+ Writes a compressed
+
+ Value
+
+
+
+ Writes a compressed
+
+
+
+
+
+ Gets the size of a compressed , see
+
+ Value
+
+
+
+
+ Debug directory entry
+
+
+
+
+ Gets the header
+
+
+
+
+ Gets the data
+
+
+
+
+ Constructor
+
+ Data
+
+
+
+ Debug directory chunk
+
+
+
+ Default debug directory alignment
+
+
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+ Adds data
+
+ Data
+
+
+
+
+ Adds data
+
+ Data
+
+
+
+
+ Adds data
+
+ Data
+ Debug type
+ Major version
+ Minor version
+ Timestamp
+
+
+
+
+ Adds data
+
+ Data
+ Debug type
+ Major version
+ Minor version
+ Timestamp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Writes DeclSecurity blobs
+
+
+
+
+ Creates a DeclSecurity blob from
+
+ Owner module
+ List of s
+ Helps this class
+ A DeclSecurity blob
+
+
+
+ Creates a DeclSecurity blob from
+
+ Owner module
+ List of s
+ Helps this class
+ Optimize serialized type strings in custom attributes.
+ For more info, see
+ A DeclSecurity blob
+
+
+
+ Extension methods
+
+
+
+
+ Write zeros
+
+ this
+ Number of zeros
+
+
+
+ Writes all data to and verifies that all bytes were written
+
+ this
+ Destination
+ Not all bytes were written
+
+
+
+ Writes a data directory
+
+ Writer
+ The data
+
+
+
+ #GUID heap
+
+
+
+
+
+
+
+ Adds a guid to the #GUID heap
+
+ The guid
+ The index of the guid in the #GUID heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base class of most heaps
+
+
+
+
+ true if has been called
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true if offsets require 4 bytes instead of 2 bytes.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the raw length of the heap
+
+ Raw length of the heap
+
+
+
+
+
+
+ Writes all data to at its current location.
+
+ Destination
+
+
+
+
+
+
+ Data that gets written to the file
+
+
+
+
+ Gets the file offset. This is valid only after has been called.
+
+
+
+
+ Gets the RVA. This is valid only after has been called.
+
+
+
+
+ Called when the file offset and RVA are known
+
+ File offset of this chunk
+ RVA of this chunk
+
+
+
+ Gets the raw file length of this chunk. Must only be called after
+ has been called.
+
+ Length of this chunk
+
+
+
+ Gets the virtual size of this chunk. Must only be called after
+ has been called.
+
+ Virtual size of this chunk
+
+
+
+ Writes all data to at its current location. It's only
+ called after and have been called.
+ You cannot assume that 's file position is the same as this
+ chunk's file position.
+
+ Destination
+
+
+
+ Implemented by s that can reuse the old data location in the original PE file
+
+
+
+
+ Returns true if this chunk fits in the old location
+
+ Original RVA of data
+ Size of the original location
+
+
+
+
+ .NET Heap interface
+
+
+
+
+ Gets the name of the heap
+
+
+
+
+ Checks whether the heap is empty
+
+
+
+
+ Called when the heap should be set to read-only mode
+
+
+
+
+ Options to
+
+
+
+
+ Default major runtime version
+
+
+
+
+ Default minor runtime version
+
+
+
+
+ Major runtime version
+
+
+
+
+ Minor runtime version
+
+
+
+
+ Flags
+
+
+
+
+ Entry point or null. Either a Method/File token or an RVA.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Flags
+
+
+
+ Constructor
+
+ Major runtime version (default is )
+ Minor runtime version (default is )
+ Flags
+
+
+
+ .NET header
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the .NET resources
+
+
+
+
+ Gets/sets the strong name signature
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Import address table chunk
+
+
+
+
+ Gets/sets the
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ true if it's a 64-bit PE file, false if it's a 32-bit PE file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Import directory chunk
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets the RVA of _CorDllMain/_CorExeMain in the import lookup table
+
+
+
+
+ Gets RVA of _CorExeMain/_CorDllMain in the IAT
+
+
+
+
+ Gets/sets a value indicating whether this is a EXE or a DLL file
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the name of the dll which should be imported.
+
+
+
+
+ Gets/sets the name of the entry point of the imported dll.
+
+
+
+
+ Constructor
+
+ true if it's a 64-bit PE file, false if it's a 32-bit PE file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Interface to get and set raw heap data. Implemented by the offset heaps: #Strings,
+ #GUID, #Blob, and #US.
+
+ Type of cooked data
+
+
+
+ Gets the size of the data as raw data when written to the heap
+
+ The data
+ Size of the data as raw data when written to the heap
+
+
+
+ Overrides what value should be written to the heap.
+
+ Offset of value. Must match an offset returned by
+
+ The new raw data. The size must match the raw size exactly.
+
+
+
+ Gets all inserted raw data and their offsets. The returned array
+ is owned by the caller.
+
+ An enumerable of all raw data and their offsets
+
+
+
+ Gets notified of errors. The default handler should normally throw since the written data
+ will probably be invalid. Any error can be ignored.
+
+
+
+
+ Called when an error is detected (eg. a null pointer or other invalid value). The error
+ can be ignored but the written data won't be valid.
+
+ Error message
+
+
+
+ Writes the .sdata blob. We could write the data in any order, but we write the data in the same order as ILASM
+
+ PE timestamp
+
+
+
+ Writes field marshal blobs
+
+
+
+
+ Creates a field marshal blob from
+
+ Owner module
+ Marshal type
+ Helps this class
+ A field marshal blob or null if is
+ null
+
+
+
+ Creates a field marshal blob from
+
+ Owner module
+ Marshal type
+ Helps this class
+ Optimize serialized type strings in custom attributes.
+ For more info, see
+ A field marshal blob or null if is
+ null
+
+
+
+
+
+
+ Calculates max stack usage by using a simple pass over all instructions. This value
+ can be placed in the fat method header's MaxStack field.
+
+
+
+
+ Gets max stack value
+
+ All instructions
+ All exception handlers
+ Max stack value
+
+
+
+ Gets max stack value
+
+ All instructions
+ All exception handlers
+ Updated with max stack value
+ true if no errors were detected, false otherwise
+
+
+
+ MD table interface
+
+
+
+
+ Gets the table type
+
+
+
+
+ true if the table is empty
+
+
+
+
+ Gets the number of rows in this table
+
+
+
+
+ Gets/sets a value indicating whether it's sorted
+
+
+
+
+ true if has been called
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Called when the table can't be modified any more
+
+
+
+
+ Creates rows in a table. Rows can optionally be shared to create a compact table.
+
+ The raw row type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the value with rid
+
+ The row ID
+
+
+
+ Constructor
+
+ The table type
+ Equality comparer
+
+
+
+
+
+
+ Adds a row. If the row already exists, returns a rid to the existing one, else
+ it's created and a new rid is returned.
+
+ The row. It's now owned by us and must NOT be modified by the caller.
+ The RID (row ID) of the row
+
+
+
+ Creates a new row even if this row already exists.
+
+ The row. It's now owned by us and must NOT be modified by the caller.
+ The RID (row ID) of the row
+
+
+
+ Re-adds all added rows. Should be called if rows have been modified after being
+ inserted.
+
+
+
+
+ Reset the table.
+
+
+
+
+ Writes s
+
+
+
+
+ Writes a Module table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a TypeRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a TypeDef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Field table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Method table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ParamPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Param table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a InterfaceImpl table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MemberRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Constant table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a CustomAttribute table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldMarshal table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a DeclSecurity table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ClassLayout table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldLayout table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a StandAloneSig table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a EventMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a EventPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Event table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a PropertyMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a PropertyPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Property table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodSemantics table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodImpl table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ModuleRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a TypeSpec table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ImplMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldRVA table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ENCLog table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ENCMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Assembly table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyProcessor table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyOS table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyRefProcessor table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyRefOS table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a File table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ExportedType table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ManifestResource table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a NestedClass table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a GenericParam table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodSpec table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a GenericParamConstraint table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Document table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodDebugInformation table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a LocalScope table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a LocalVariable table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a LocalConstant table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ImportScope table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a StateMachineMethod table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a CustomDebugInformation table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ flags
+
+
+
+
+ Preserves all rids in the TypeRef table
+
+
+
+
+ Preserves all rids in the TypeDef table
+
+
+
+
+ Preserves all rids in the Field table
+
+
+
+
+ Preserves all rids in the Method table
+
+
+
+
+ Preserves all rids in the Param table
+
+
+
+
+ Preserves all rids in the MemberRef table
+
+
+
+
+ Preserves all rids in the StandAloneSig table
+
+
+
+
+ Preserves all rids in the Event table
+
+
+
+
+ Preserves all rids in the Property table
+
+
+
+
+ Preserves all rids in the TypeSpec table
+
+
+
+
+ Preserves all rids in the MethodSpec table
+
+
+
+
+ Preserves all method rids, i.e., Method, MemberRef and
+ MethodSpec rids.
+
+
+
+
+ Preserves all rids in the following tables: TypeRef, TypeDef,
+ Field, Method, Param, MemberRef, StandAloneSig,
+ Event, Property, TypeSpec, MethodSpec
+
+
+
+
+ Preserves all offsets in the #Strings heap (the original #Strings heap will be saved
+ in the new file). Type names, field names, and other non-user strings are stored
+ in the #Strings heap.
+
+
+
+
+ Preserves all offsets in the #US heap (the original #US heap will be saved
+ in the new file). User strings (referenced by the ldstr instruction) are stored in
+ the #US heap.
+
+
+
+
+ Preserves all offsets in the #Blob heap (the original #Blob heap will be saved
+ in the new file). Custom attributes, signatures and other blobs are stored in the
+ #Blob heap.
+
+
+
+
+ Preserves the extra data that is present after the original signature in the #Blob
+ heap. This extra data shouldn't be present but might be present if an obfuscator
+ has added this extra data and is eg. using it to decrypt stuff.
+
+
+
+
+ Preserves as much as possible
+
+
+
+
+ The original method body's max stack field should be used and a new one should not
+ be calculated.
+
+
+
+
+ Always create the #GUID heap even if it's empty
+
+
+
+
+ Always create the #Strings heap even if it's empty
+
+
+
+
+ Always create the #US heap even if it's empty
+
+
+
+
+ Always create the #Blob heap even if it's empty
+
+
+
+
+ Sort the InterfaceImpl table the same way Roslyn sorts it. Roslyn doesn't sort it
+ according to the ECMA spec, see https://github.com/dotnet/roslyn/issues/3905
+
+
+
+
+ Don't write method bodies
+
+
+
+
+ Don't write .NET resources
+
+
+
+
+ Don't write field data
+
+
+
+
+ Serialized type names stored in custom attributes are optimized if the types
+ exist in the core library (eg. mscorlib/System.Private.CoreLib).
+ Instead of storing type-name + assembly-name, only type-name is stored. This results in
+ slightly smaller assemblies.
+
+
+ If it's a type in the current module, the type name is optimized and no assembly name is stored in the custom attribute.
+
+
+ This is disabled by default. It's safe to enable if the reference core assembly
+ is the same as the runtime core assembly (eg. it's mscorlib.dll and .NET Framework,
+ but not .NET Core / .NET Standard).
+
+
+
+
+ Metadata heaps event args
+
+
+
+
+ Gets the metadata writer
+
+
+
+
+ Gets all heaps
+
+
+
+
+ Constructor
+
+ Metadata writer
+ All heaps
+
+
+
+ options
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the debug (portable PDB) options. This is never null.
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the debug (portable PDB) options. This is never null.
+
+
+
+
+ Various options
+
+
+
+
+ Extra heaps to add to the metadata. Also see and
+
+
+
+
+ Raised after all heaps have been added. The caller can sort the list if needed
+
+
+
+
+ Preserves the original order of heaps, and optionally adds all custom heaps to .
+
+ Original module with the heaps
+ If true, all custom streams are added to
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Flags
+
+
+
+ Constructor
+
+ Meta data header options
+
+
+
+ Constructor
+
+ Meta data header options
+ Flags
+
+
+
+ Portable PDB metadata kind
+
+
+
+
+ No debugging metadata
+
+
+
+
+ Standalone / embedded portable PDB metadata
+
+
+
+
+ Metadata writer event args
+
+
+
+
+ Gets the metadata writer
+
+
+
+
+ Gets the event
+
+
+
+
+ Constructor
+
+ Writer
+ Event
+
+
+
+ Metadata writer progress event args
+
+
+
+
+ Gets the metadata writer
+
+
+
+
+ Gets the progress, 0.0 - 1.0
+
+
+
+
+ Constructor
+
+ Writer
+ Progress, 0.0 - 1.0
+
+
+
+ .NET meta data
+
+
+
+
+ Raised at various times when writing the metadata
+
+
+
+
+ Raised when the progress is updated
+
+
+
+
+ Gets/sets the logger
+
+
+
+
+ Gets the module
+
+
+
+
+ Gets the constants
+
+
+
+
+ Gets the method body chunks
+
+
+
+
+ Gets the .NET resources
+
+
+
+
+ Gets the MD header
+
+
+
+
+ Gets the tables heap. Access to this heap is not recommended, but is useful if you
+ want to add random table entries.
+
+
+
+
+ Gets the #Strings heap. Access to this heap is not recommended, but is useful if you
+ want to add random strings.
+
+
+
+
+ Gets the #US heap. Access to this heap is not recommended, but is useful if
+ you want to add random user strings.
+
+
+
+
+ Gets the #GUID heap. Access to this heap is not recommended, but is useful if you
+ want to add random GUIDs.
+
+
+
+
+ Gets the #Blob heap. Access to this heap is not recommended, but is useful if you
+ want to add random blobs.
+
+
+
+
+ Gets the #Pdb heap. It's only used if it's portable PDB metadata
+
+
+
+
+ Gets all exported methods
+
+
+
+
+ The public key that should be used instead of the one in .
+
+
+
+
+ Creates a instance
+
+ Module
+ Constants list
+ Method bodies list
+ .NET resources list
+ Options
+ Debug metadata kind
+ A new instance
+
+
+
+
+
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ If true, use the original Field RVAs. If it has no RVA, assume it's a new
+ field value and create a new Field RVA.
+
+
+
+
+ Gets the number of methods that will be written.
+
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the
+
+ Method
+ The or null if is
+ null or not a method defined in this module.
+
+
+
+ Gets a method's local variable signature token
+
+ Method
+ Locals sig token or 0
+
+
+
+ Gets the where the resource data will be stored
+
+ Embedded resource
+ A instance or null if
+ is invalid
+
+
+
+ Gets the where the initial value is stored
+
+ Field
+ A instance or null if
+ is invalid
+
+
+
+ Called when an error is detected
+
+ Error message
+ Optional message arguments
+
+
+
+ Called to warn of something
+
+ Warning message
+ Optional message arguments
+
+
+
+ Raises
+
+ Event
+
+
+
+ Raises the progress event
+
+ Base event
+ Sub progress
+
+
+
+ Creates the .NET metadata tables
+
+
+
+
+ Updates each Method row's RVA column if it has any code
+
+
+
+
+ Updates the FieldRVA rows
+
+
+
+
+ Initializes all TypeDef, Field, Method, Event,
+ Property and Param rows. Other tables that are related to these six
+ tables are also updated. No custom attributes are written yet, though. Method bodies
+ aren't written either.
+
+
+
+
+ Writes TypeDef, Field, Method, Event,
+ Property and Param custom attributes and custom debug infos.
+
+
+
+
+ Adds the tokens of all methods in all vtables, if any
+
+
+
+
+ Adds the entry point. It's only needed if it's a since if it's
+ a , it will have already been added.
+
+
+
+
+ Sorts all unsorted tables except GenericParamConstraint and CustomAttribute
+
+
+
+
+ Initializes the GenericParamConstraint table
+
+
+
+
+ Inserts all custom attribute / custom debug info rows in the tables and sort them
+
+
+
+
+ Writes all method bodies
+
+
+
+
+ Checks whether a list is empty or whether it contains only nulls
+
+ Any type
+ The list
+ true if the list is empty or if it contains only nulls, false otherwise
+
+
+
+
+
+
+
+
+
+ Adds a
+
+ Method signature
+ Original StandAloneSig token or 0 if none
+ Its new rid
+
+
+
+ Adds a
+
+ FIeld signature
+ Original StandAloneSig token or 0 if none
+ Its new rid
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a NestedType row
+
+ Nested type
+ Declaring type
+
+
+
+ Adds a Module row
+
+ Module
+ Its new rid
+
+
+
+ Adds a ModuleRef row
+
+ Module ref
+ Its new rid
+
+
+
+ Adds an AssemblyRef row
+
+ Assembly ref
+ Its new rid
+
+
+
+ Adds an Assembly row
+
+ Assembly
+ The public key that should be used
+ Its new rid
+
+
+
+ Adds generic parameters
+
+ New token of owner
+ All generic params
+
+
+
+ Adds a generic param
+
+ New token of owner
+ Generic paramater
+
+
+
+ Adds generic parameter constraints
+
+ New rid of owner generic param
+ Its constraints
+
+
+
+ Adds a generic parameter constraint
+
+ New rid of owner generic param
+ Generic parameter constraint
+
+
+
+ Adds a InterfaceImpl row
+
+ New rid of owner
+ All interfaces
+
+
+
+ Adds a FieldLayout row
+
+ Owner field
+
+
+
+ Adds a FieldMarshal row
+
+ New owner token
+ Owner
+
+
+
+ Adds a FieldRVA row
+
+ The field
+
+
+
+ Adds a ImplMap row
+
+ New owner token
+ Owner
+
+
+
+ Adds a Constant row
+
+ New owner token
+ Owner
+
+
+
+ Adds a DeclSecurity row
+
+ New owner token
+ All DeclSecurity rows
+
+
+
+ Adds MethodSemantics rows
+
+ Event
+
+
+
+ Adds MethodSemantics rows
+
+ Property
+
+
+
+ Adds a ClassLayout row
+
+ Type
+
+
+
+ Adds a File row
+
+ File
+ Its new rid
+
+
+
+ Adds a ExportedType row
+
+ Exported type
+ Its new rid
+
+
+
+ Gets a #Blob offset of a type signature
+
+ Type sig
+ Extra data to append the signature if
+ is true.
+ #Blob offset
+
+
+
+ Gets a #Blob offset of a calling convention signature
+
+ Signature
+ #Blob offset
+
+
+
+ Adds a CustomAttribute row
+
+ Owner table
+ New owner rid
+ Onwer
+
+
+
+ Adds a CustomDebugInformation row
+
+ Owner table
+ New owner rid
+ Onwer
+
+
+
+ Writes the portable PDB to .
+
+ Output stream
+ Entry point token
+ Updated with the offset of the 20-byte PDB ID. The caller is responsible for initializing it with the PDB ID
+
+
+
+
+
+
+
+
+
+
+
+
+ Called before any other methods
+
+
+
+
+ Gets all s that should be saved in the meta data
+
+
+
+
+ Initializes TypeDef rids and creates raw rows, but does not initialize
+ any columns.
+
+
+
+
+ Allocates Field, Method, Property, Event, Param:
+ rid and raw row, but doesn't initialize the raw row.
+ Initializes TypeDef columns: FieldList, MethodList.
+ Initializes Method column: ParamList.
+ Initializes and .
+
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Type reference
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Type spec
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Member ref
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Stand alone sig
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Method spec
+ Its new rid
+
+
+
+ Called before sorting the CustomAttribute table. This is the last time anything
+ can be inserted into this table.
+
+
+
+
+ Called after everything has been initialized. The sub class can initialize more
+ rows if necessary or do nothing. After this method has been called, nothing else
+ can be added.
+
+
+
+
+ Should be called before all chunks get an RVA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sorts the s
+
+ All s
+ A sorted list
+
+
+
+ All events
+
+
+
+
+ Creating the tables has just begun
+
+
+
+
+ Before allocating all TypeDef RIDs
+
+
+
+
+ Before allocating all MemberDef RIDs
+
+
+
+
+ The rids of types, fields, methods, events, properties and parameters are
+ now known.
+
+
+
+
+ The tables and rows of all types, fields, methods, events, properties and parameters
+ have been initialized. Method body RVAs are still not known, and no method has been
+ written yet.
+
+
+
+
+ Before sorting most tables
+
+
+
+
+ Most of the tables that should be sorted have been sorted. The CustomAttribute
+ table is still unsorted since it's not been created yet.
+
+
+
+
+ Custom attributes of all types, fields, methods, events, properties and parameters
+ have now been written.
+
+
+
+
+ All resources are about to be added to the .NET resources table
+
+
+
+
+ All resources have been added to the .NET resources table
+
+
+
+
+ All method bodies are about to be written
+
+
+
+
+ All method bodies have been written. Their RVAs are still not known.
+
+
+
+
+ All tables are now sorted, including the CustomAttribute table.
+
+
+
+
+ All tables have been created and all rows populated. The only columns that haven't
+ been initialized yet are the ones that are RVAs.
+
+
+
+
+ options
+
+
+
+
+ Default version string
+
+
+
+
+ Default header signature
+
+
+
+
+ MD header signature. Default value is
+
+
+
+
+ Major version. Default is 1. MS' CLR supports v0.x (x >= 19) and v1.1, nothing else.
+
+
+
+
+ Minor version. Default is 1.
+
+
+
+
+ Reserved and should be 0.
+
+
+
+
+ Version string. Default is . It's stored as a
+ zero-terminated UTF-8 string. Length should be <= 255 bytes.
+
+
+
+
+ Storage flags should be 0
+
+
+
+
+ Reserved and should be 0
+
+
+
+
+ Creates portable PDB v1.0 options
+
+
+
+
+
+ Meta data header. IMAGE_COR20_HEADER.Metadata points to this header.
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the heaps
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method body chunk
+
+
+
+
+
+
+
+
+
+
+ Gets the code
+
+
+
+
+ Gets the extra sections (exception handlers) or null
+
+
+
+
+ Gets the token of the locals
+
+
+
+
+ true if it's a fat body
+
+
+
+
+ true if it's a tiny body
+
+
+
+
+ true if there's an extra section
+
+
+
+
+ Constructor
+
+ Code
+
+
+
+ Constructor
+
+ Code
+ Extra sections or null
+
+
+
+ Constructor
+
+ Code
+ Extra sections or null
+ Token of locals
+
+
+
+ Gets the approximate size of the method body (code + exception handlers)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stores all method body chunks
+
+
+
+
+
+
+
+
+
+
+ Gets the number of bytes saved by re-using method bodies
+
+
+
+
+ Constructor
+
+ true if bodies can be shared
+
+
+
+ Adds a and returns the one that has been cached
+
+ The method body
+ The cached method body
+
+
+ Removes the specified method body from this chunk
+ The method body
+ if the method body is removed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns tokens of token types, strings and signatures
+
+
+
+
+ Gets the token of
+
+ A token type or a string or a signature
+ The token
+
+
+
+ Gets a StandAloneSig token
+
+ All locals
+ The original token or 0 if none
+ A StandAloneSig token or 0 if is
+ empty.
+
+
+
+ Writes CIL method bodies
+
+
+
+
+ Gets the code as a byte array. This is valid only after calling .
+ The size of this array is not necessarily a multiple of 4, even if there are exception
+ handlers present. See also
+
+
+
+
+ Gets the extra sections (exception handlers) as a byte array or null if there
+ are no exception handlers. This is valid only after calling
+
+
+
+
+ Gets the token of the locals
+
+
+
+
+ Constructor
+
+ Helps this instance
+ The CIL method body
+
+
+
+ Constructor
+
+ Helps this instance
+ The CIL method body
+ Keep the original max stack value that has been initialized
+ in
+
+
+
+ Writes the method body
+
+
+
+
+ Gets the code and (possible) exception handlers in one array. The exception handlers
+ are 4-byte aligned.
+
+ The code and any exception handlers
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base class of all CIL method body writers
+
+
+
+
+
+
+
+
+
+
+ true if there was at least one error
+
+
+
+
+ Constructor
+
+ All instructions
+ All exception handlers
+
+
+
+ Called when an error is detected (eg. a null pointer). The error can be
+ ignored but the method won't be valid.
+
+ Error message
+
+
+
+ Called when an error is detected (eg. a null pointer). The error can be
+ ignored but the method won't be valid.
+
+ Error message
+
+
+
+ Gets max stack value
+
+
+
+
+ Gets the offset of an instruction
+
+ The instruction
+ The offset or 0 if is null or not
+ present in the list of all instructions.
+
+
+
+ Initializes instruction offsets and returns the total code size
+
+ Size of code
+
+
+
+ Gets the size of an instruction
+
+ The instruction
+ Size of the instruction in bytes
+
+
+
+ Writes all instructions to at its current offset
+
+ The instruction writer
+ Number of bytes written
+
+
+
+ Gets the current offset in the instruction stream. This offset is relative to
+ the first written instruction.
+
+ The instruction writer
+ Current offset, relative to the first written instruction
+
+
+
+ Writes an instruction
+
+ The instruction writer
+ The instruction
+
+
+
+ Writes an instruction's opcode
+
+ The instruction writer
+ The instruction
+
+
+
+ Writes an instruction's operand
+
+ The instruction writer
+ The instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ options
+
+
+
+
+ Constructor
+
+ The module
+
+
+
+ Writes a .NET PE file. See also
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the writer options. This is never null
+
+
+
+
+ Gets all s. The reloc section must be the last section, so use if you need to append a section
+
+
+
+
+ Adds to the sections list, but before the reloc section which must be last
+
+ New section to add to the list
+
+
+
+ Gets the .text section
+
+
+
+
+ Gets the .sdata section
+
+
+
+
+ Gets the .rsrc section or null if none
+
+
+
+
+ Gets the .reloc section
+
+
+
+
+ Gets the PE headers
+
+
+
+
+ Gets the IAT or null if there's none
+
+
+
+
+ Gets the .NET header
+
+
+
+
+ Gets the import directory or null if there's none
+
+
+
+
+ Gets the startup stub or null if there's none
+
+
+
+
+ Gets the reloc directory or null if there's none
+
+
+
+
+ Constructor
+
+ The module
+
+
+
+ Constructor
+
+ The module
+ Options or null
+
+
+
+
+
+
+
+
+
+ Module writer event args
+
+
+
+
+ Gets the writer ( or )
+
+
+
+
+ Gets the event
+
+
+
+
+ Constructor
+
+ Writer
+ Event
+
+
+
+ Module writer progress event args
+
+
+
+
+ Gets the writer ( or )
+
+
+
+
+ Gets the progress, 0.0 - 1.0
+
+
+
+
+ Constructor
+
+ Writer
+ Progress, 0.0 - 1.0
+
+
+
+ Content ID
+
+
+
+
+ Gets the GUID
+
+
+
+
+ Gets the timestamp
+
+
+
+
+ Constructor
+
+ Guid
+ Timestamp
+
+
+
+ Event handler
+
+ Event args type
+ Sender
+ Event args
+
+
+
+ PDB writer options
+
+
+
+
+ No bit is set
+
+
+
+
+ Don't use Microsoft.DiaSymReader.Native. This is a NuGet package with an updated Windows PDB reader/writer implementation,
+ and if it's available at runtime, dnlib will try to use it. If this option is set, dnlib won't use it.
+ You have to add a reference to the NuGet package if you want to use it, dnlib has no reference to the NuGet package.
+
+ This is only used if it's a Windows PDB file.
+
+
+
+
+ Don't use diasymreader.dll's PDB writer that is shipped with .NET Framework.
+
+ This is only used if it's a Windows PDB file.
+
+
+
+
+ Create a deterministic PDB file and add a debug directory entry to the PE file.
+
+ It's ignored if the PDB writer doesn't support it.
+
+
+
+
+ Hash the PDB file and add a PDB checksum debug directory entry to the PE file.
+
+ It's ignored if the PDB writer doesn't support it.
+
+
+
+
+ Common module writer options base class
+
+
+
+
+ Raised at various times when writing the file. The listener has a chance to modify
+ the file, eg. add extra metadata, encrypt methods, etc.
+
+
+
+
+ Raised when the progress is updated
+
+
+
+
+ Gets/sets the logger. If this is null, any errors result in a
+ being thrown. To disable this behavior, either
+ create your own logger or use .
+
+
+
+
+ Gets/sets the writer logger. If this is null, use
+ .
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ If true, Win32 resources aren't written to the output
+
+
+
+
+ Gets/sets the Win32 resources. If this is null, use the module's
+ Win32 resources if any.
+
+
+
+
+ true to delay sign the assembly. Initialize to the
+ public key to use, and don't initialize . To generate the
+ public key from your strong name key file, execute sn -p mykey.snk mypublickey.snk
+
+
+
+
+ Gets/sets the strong name key. When you enhance strong name sign an assembly,
+ this instance's HashAlgorithm must be initialized to its public key's HashAlgorithm.
+ You should call
+ to initialize this property if you use normal strong name signing.
+ You should call
+ or
+ to initialize this property if you use enhanced strong name signing.
+
+
+
+
+ Gets/sets the new public key that should be used. If this is null, use
+ the public key generated from . If it is also null,
+ use the module's Assembly's public key.
+ You should call
+ or
+ to initialize this property if you use enhanced strong name signing.
+
+
+
+
+ true if method bodies can be shared (two or more method bodies can share the
+ same RVA), false if method bodies can't be shared. Don't enable it if there
+ must be a 1:1 relationship with method bodies and their RVAs.
+ This is enabled by default and results in smaller files.
+
+
+
+
+ true if the PE header CheckSum field should be updated, false if the
+ CheckSum field isn't updated.
+
+
+
+
+ true if it's a 64-bit module, false if it's a 32-bit or AnyCPU module.
+
+
+
+
+ Gets/sets the module kind
+
+
+
+
+ true if it should be written as an EXE file, false if it should be
+ written as a DLL file.
+
+
+
+
+ Set it to true to enable writing a PDB file. Default is false (a PDB file
+ won't be written to disk).
+
+
+
+
+ PDB writer options. This property is ignored if is false.
+
+
+
+
+ PDB file name. If it's null a PDB file with the same name as the output assembly
+ will be created but with a PDB extension. must be true or
+ this property is ignored.
+
+
+
+
+ PDB file name stored in the debug directory, or null to use
+
+
+
+
+ PDB stream. If this is initialized, then you should also set
+ to the name of the PDB file since the file name must be written to the PE debug directory.
+ must be true or this property is ignored.
+
+
+
+
+ Gets the PDB content id (portable PDBs). The argument is the PDB stream with the PDB ID zeroed out,
+ and the 2nd argument is the default timestamp.
+ This property is ignored if a deterministic PDB file is created or if the PDB checksum is calculated.
+
+
+
+
+ PDB checksum algorithm
+
+
+
+
+ true if an .mvid section should be added to the assembly. Not used by native module writer.
+
+
+
+
+ Constructor
+
+ The module
+
+
+
+ Initializes and
+ for normal strong name signing.
+
+ Module
+ Signature strong name key pair
+
+
+
+ Initializes and
+ for enhanced strong name signing (without key migration). See
+ http://msdn.microsoft.com/en-us/library/hh415055.aspx
+
+ Module
+ Signature strong name key pair
+ Signature public key
+
+
+
+ Initializes and
+ for enhanced strong name signing (with key migration). See
+ http://msdn.microsoft.com/en-us/library/hh415055.aspx
+
+ Module
+ Signature strong name key pair
+ Signature public key
+ Identity strong name key pair
+ Identity public key
+
+
+
+ Module writer base class
+
+
+
+ Default alignment of all constants
+
+
+ Default alignment of all method bodies
+
+
+ Default alignment of all .NET resources
+
+
+ Default alignment of the .NET metadata
+
+
+ Default Win32 resources alignment
+
+
+ Default strong name signature alignment
+
+
+ Default COR20 header alignment
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ Offset where the module is written. Usually 0.
+
+
+ Debug directory
+
+
+
+ Strong name signature
+
+
+
+
+ Returns the module writer options
+
+
+
+
+ Gets the destination stream
+
+
+
+
+ Gets the constants
+
+
+
+
+ Gets the method bodies
+
+
+
+
+ Gets the .NET resources
+
+
+
+
+ Gets the .NET metadata
+
+
+
+
+ Gets the Win32 resources or null if there's none
+
+
+
+
+ Gets the strong name signature or null if there's none
+
+
+
+
+ Gets all s. The reloc section must be the last section, so use if you need to append a section
+
+
+
+
+ Adds to the sections list, but before the reloc section which must be last
+
+ New section to add to the list
+
+
+
+ Gets the .text section
+
+
+
+
+ Gets the .rsrc section or null if there's none
+
+
+
+
+ Gets the debug directory or null if there's none
+
+
+
+
+ true if this is a , false if
+ this is a .
+
+
+
+
+ null if we're not writing a PDB
+
+
+
+
+ Writes the module to a file
+
+ File name. The file will be truncated if it exists.
+
+
+
+ Writes the module to a
+
+ Destination stream
+
+
+
+ Returns the module that is written
+
+
+
+
+ Writes the module to . Event listeners and
+ have been initialized when this method is called.
+
+ Number of bytes written
+
+
+
+ Creates the strong name signature if the module has one of the strong name flags
+ set or wants to sign the assembly.
+
+
+
+
+ Creates the .NET metadata chunks (constants, method bodies, .NET resources,
+ the metadata, and Win32 resources)
+
+
+
+
+
+ Gets the Win32 resources that should be written to the new image or null if none
+
+
+
+
+ Calculates and of all s
+
+ All chunks
+ Starting file offset
+ Starting RVA
+ File alignment
+ Section alignment
+
+
+
+ Writes all chunks to
+
+ The writer
+ All chunks
+ File offset of first chunk
+ File alignment
+
+
+
+ Strong name sign the assembly
+
+ Strong name signature offset
+
+
+
+ Creates the debug directory if a PDB file should be written
+
+
+
+
+ Write the PDB file. The caller should send the PDB events before and after calling this
+ method.
+
+
+
+
+ Gets the timestamp stored in the PE header
+
+
+
+
+
+ Raises a writer event
+
+ Event
+
+
+
+
+
+
+
+
+
+ Logs an error message
+
+ Format
+ Format args
+
+
+
+ Logs a warning message
+
+ Format
+ Format args
+
+
+
+ All / events
+
+
+
+
+ Writing has just begun
+
+
+
+
+ All PE sections have been created
+
+
+
+
+ All chunks have been created
+
+
+
+
+ All chunks have been added to their sections
+
+
+
+
+ Original event: .
+ Creating the metadata tables has just begun
+
+
+
+
+ Original event: .
+ Before allocating all TypeDef RIDs
+
+
+
+
+ Original event: .
+ Before allocating all MemberDef RIDs
+
+
+
+
+ Original event: .
+ The rids of types, fields, methods, events, properties and parameters are
+ now known.
+
+
+
+
+ Original event: .
+ The tables and rows of all types, fields, methods, events, properties and parameters
+ have been initialized. Method body RVAs are still not known, and no method has been
+ written yet.
+
+
+
+
+ Original event: .
+ Before sorting most tables
+
+
+
+
+ Original event: .
+ Most of the tables that should be sorted have been sorted. The CustomAttribute
+ table is still unsorted since it's not been created yet.
+
+
+
+
+ Original event: .
+ Custom attributes of all types, fields, methods, events, properties and parameters
+ have now been written.
+
+
+
+
+ Original event: .
+ All resources are about to be added to the .NET resources table
+
+
+
+
+ Original event: .
+ All resources have been added to the .NET resources table
+
+
+
+
+ Original event: .
+ All method bodies are about to be written
+
+
+
+
+ Original event: .
+ All method bodies have been written. Their RVAs are still not known.
+
+
+
+
+ Original event: .
+ All tables are now sorted, including the CustomAttribute table.
+
+
+
+
+ Original event: .
+ All tables have been created and all rows populated. The only columns that haven't
+ been initialized yet are the ones that are RVAs.
+
+
+
+
+ This event occurs before the PDB file is written. This event occurs even if no PDB file
+ will be written.
+
+
+
+
+ The PDB file has been written. This event occurs even if no PDB file has been written.
+
+
+
+
+ This event occurs just before all RVAs and file offsets of the chunks are calculated.
+
+
+
+
+ File offsets and RVAs of all chunks are now known. This includes method body and
+ field RVAs. Nothing has been written to the destination stream yet.
+
+
+
+
+ This event occurs before all chunks are written to the destination stream, and after
+ all RVAs and file offsets are known.
+
+
+
+
+ All chunks have been written to the destination stream.
+
+
+
+
+ This event occurs before the strong name signature is calculated. This event
+ occurs even if the assembly isn't strong name signed.
+
+
+
+
+ This event occurs after the strong name signature has been calculated. This event
+ occurs even if the assembly isn't strong name signed.
+
+
+
+
+ This event occurs before the checksum in the PE header is updated. This event
+ occurs even if the checksum isn't updated.
+
+
+
+
+ This event occurs after the checksum in the PE header has been updated. This event
+ occurs even if the checksum isn't updated.
+
+
+
+
+ Writing has ended
+
+
+
+
+ Thrown when the module writer encounters an unrecoverable error
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ Other exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ options
+
+
+
+
+ If true, any extra data after the PE data in the original file is also saved
+ at the end of the new file. Enable this option if some protector has written data to
+ the end of the file and uses it at runtime.
+
+
+
+
+ If true, keep the original Win32 resources
+
+
+
+
+ Constructor
+
+ Module
+ true to optimize the image size so it's as small as possible.
+ Since the file can contain native methods and other native data, we re-use the
+ original file when writing the new file. If is true,
+ we'll try to re-use the old method body locations in the original file and
+ also try to fit the new metadata in the old metadata location.
+
+
+
+ A module writer that supports saving mixed-mode modules (modules with native code).
+ The original image will be re-used. See also
+
+
+
+ The original .NET module
+
+
+ All options
+
+
+
+ Any extra data found at the end of the original file. This is null if there's
+ no extra data or if is
+ false.
+
+
+
+ The original PE sections and their data
+
+
+ Original PE image
+
+
+ New sections we've added and their data
+
+
+ New .text section where we put some stuff, eg. .NET metadata
+
+
+ The new COR20 header
+
+
+
+ New .rsrc section where we put the new Win32 resources. This is null if there
+ are no Win32 resources or if
+ is true
+
+
+
+
+ Offset in of the PE checksum field.
+
+
+
+
+ Original PE section
+
+
+
+ PE section
+
+
+ PE section data
+
+
+
+ Constructor
+
+ PE section
+
+
+
+
+
+
+
+
+
+ Gets the module
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the writer options. This is never null
+
+
+
+
+ Gets all s
+
+
+
+
+ Gets the original PE sections and their data
+
+
+
+
+ Gets the .text section
+
+
+
+
+ Gets the .rsrc section or null if there's none
+
+
+
+
+ Constructor
+
+ The module
+ Options or null
+
+
+
+
+
+
+
+
+
+ Gets the raw section data of the image. The sections are saved in
+ .
+
+
+
+
+ Creates the PE header "section"
+
+
+
+
+ Saves any data that is appended to the original PE file
+
+
+
+
+ true if image is 64-bit
+
+
+
+
+ Updates the PE header and COR20 header fields that need updating. All sections are
+ also updated, and the new ones are added.
+
+
+
+
+ Converts to a file offset in the destination stream
+
+ RVA
+
+
+
+ Gets the entry point
+
+ Updated with entry point (either a token or RVA of native method)
+ true if it's a managed entry point or there's no entry point,
+ false if it's a native entry point
+
+
+
+ .NET resources
+
+
+
+
+
+
+
+
+
+
+ Gets offset of next resource. This offset is relative to the start of
+ the .NET resources and is always aligned.
+
+
+
+
+ Constructor
+
+ Alignment of all resources
+
+
+
+ Adds a resource
+
+ The resource data
+ The resource data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Does not preserve metadata tokens
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #Pdb heap
+
+
+
+
+
+
+
+ Gets the PDB ID. This is always 20 bytes in size.
+
+
+
+
+ Gets/sets the entry point token
+
+
+
+
+ Gets the offset of the 20-byte PDB ID
+
+
+
+
+ Gets/sets the referenced type system tables
+
+
+
+
+ Gets the type system table rows. This table has 64 elements.
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+ options
+
+
+
+
+ Default DLL characteristics
+
+
+
+
+ Default subsystem value
+
+
+
+
+ Default major linker version. Roslyn C# defaults to 0x30, and Roslyn VB defaults to 0x50.
+
+
+
+
+ Default minor linker version
+
+
+
+
+ IMAGE_FILE_HEADER.Machine value
+
+
+
+
+ IMAGE_FILE_HEADER.TimeDateStamp value
+
+
+
+
+ IMAGE_FILE_HEADER.PointerToSymbolTable value
+
+
+
+
+ IMAGE_FILE_HEADER.NumberOfSymbols value
+
+
+
+
+ IMAGE_FILE_HEADER.Characteristics value. bit
+ is ignored and set/cleared depending on whether it's a EXE or a DLL file.
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorLinkerVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorLinkerVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.ImageBase value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SectionAlignment value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.FileAlignment value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorOperatingSystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorOperatingSystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorImageVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorImageVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorSubsystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorSubsystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.Win32VersionValue value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.Subsystem value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.DllCharacteristics value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfStackReserve value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfStackCommit value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfHeapReserve value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfHeapCommit value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.LoaderFlags value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.NumberOfRvaAndSizes value
+
+
+
+
+ Creates a new time date stamp using current time
+
+ A new time date stamp
+
+
+
+ DOS and PE headers
+
+
+
+
+ Gets/sets the native entry point
+
+
+
+
+ Gets/sets the COR20 header
+
+
+
+
+ Gets/sets the IAT
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the Win32 resources
+
+
+
+
+ Gets/sets the relocation directory
+
+
+
+
+ Gets/sets the debug directory
+
+
+
+
+ Gets the image base
+
+
+
+
+ Gets/sets a value indicating whether this is a EXE or a DLL file
+
+
+
+
+
+
+
+
+
+
+ Gets the section alignment
+
+
+
+
+ Gets the file alignment
+
+
+
+
+ Gets/sets the s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Calculates the PE checksum and writes it to the checksum field
+
+ Writer
+ Length of PE file
+
+
+
+ A PE section
+
+
+
+
+ Gets the name
+
+
+
+
+ Gets the Characteristics
+
+
+
+
+ true if this is a code section
+
+
+
+
+ true if this is an initialized data section
+
+
+
+
+ true if this is an uninitialized data section
+
+
+
+
+ Constructor
+
+ Section name
+ Section characteristics
+
+
+
+ Writes the section header to at its current position.
+ Returns aligned virtual size (aligned to )
+
+ Writer
+ File alignment
+ Section alignment
+ Current
+
+
+
+ Preserves metadata tokens
+
+
+
+
+ Its real rid
+
+
+
+
+ Its logical rid or real rid. If the ptr table exists (eg. MethodPtr), then it's
+ an index into it, else it's the real rid.
+
+
+
+
+ Gets total number of defs in the list. It does not necessarily return
+ the table size. Use for that.
+
+
+
+
+ Gets the number of rows that need to be created in the table
+
+
+
+
+ Returns true if the ptr table (eg. MethodPtr) is needed
+
+
+
+
+ Sorts the table
+
+ Comparer
+
+
+
+ Adds a def. must be called after adding the last def.
+
+ The def
+ Collection position
+
+
+
+ Must be called after 'ing the last def
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reserves rows in TypeRef, MemberRef, StandAloneSig,
+ TypeSpec and MethodSpec where we will store the original rows
+ to make sure they get the same rid. Any user created rows will be stored at
+ the end of each table.
+
+
+
+
+ Adds any non-referenced rows that haven't been added yet but are present in
+ the original file. If there are any non-referenced rows, it's usually a sign
+ that an obfuscator has encrypted one or more methods or that it has added
+ some rows it uses to decrypt something.
+
+
+
+
+
+
+
+ Re-uses all Field rows which aren't owned by any type due to the fields
+ having been deleted by the user. The reason we must do this is that the
+ FieldPtr and Field tables must be the same size.
+
+
+
+
+ Re-uses all Method rows which aren't owned by any type due to the methods
+ having been deleted by the user. The reason we must do this is that the
+ MethodPtr and Method tables must be the same size.
+
+
+
+
+ Re-uses all Param rows which aren't owned by any type due to the params
+ having been deleted by the user. The reason we must do this is that the
+ ParamPtr and Param tables must be the same size.
+ This method must be called after since
+ this method will create more methods at the end of the Method table.
+
+
+
+
+ Re-uses all Event rows which aren't owned by any type due to the events
+ having been deleted by the user. The reason we must do this is that the
+ EventPtr and Event tables must be the same size.
+
+
+
+
+ Re-uses all Property rows which aren't owned by any type due to the properties
+ having been deleted by the user. The reason we must do this is that the
+ PropertyPtr and Property tables must be the same size.
+
+
+
+
+ Creates a dummy TypeDef at the end of the TypeDef table that will own
+ dummy methods and fields. These dummy methods and fields are only created if the size
+ of the ptr table is less than the size of the non-ptr table (eg. size MethodPtr table
+ is less than size Method table). The only reason the ptr table would be smaller than
+ the non-ptr table is when some field/method has been deleted and we must preserve
+ all method/field rids.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Relocations directory
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Machine
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adds a relocation
+
+ RVA of location
+
+
+
+ Adds a relocation
+
+ Chunk or null. If it's null, is the RVA
+ Offset relative to the start of , or if is null, this is the RVA
+
+
+
+ Length of section
+
+
+
+
+ Section characteristics
+
+
+
+
+ Constructor
+
+ Length of section
+ Section characteristics
+
+
+
+ Calculates the optional header section sizes
+
+
+
+
+ Helps map s to tokens
+
+
+
+
+ Returns a TypeDefOrRef encoded token
+
+ A TypeDefOrRef type
+
+
+
+ Writes signatures
+
+
+
+
+ Write a signature
+
+ Helper
+ The type
+ The signature as a byte array
+
+
+
+ Write a signature
+
+ Helper
+ The signature
+ The signature as a byte array
+
+
+
+
+
+
+ Stores the instruction that jumps to _CorExeMain/_CorDllMain
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the
+
+
+
+
+
+
+
+
+
+
+ Gets the address of the JMP instruction
+
+
+
+
+ Constructor
+
+ Reloc directory
+ Machine
+ Error logger
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #Strings heap
+
+
+
+
+
+
+
+ Populates strings from an existing (eg. to preserve
+ string offsets)
+
+ The #Strings stream with the original content
+
+
+
+ Adds a string to the #Strings heap. The returned value is not necessarily an offset in
+ the #Strings heap. Call to get the offset.
+
+ The string
+ The offset id. This is not a #Strings offset. Call to get the #Strings offset
+
+
+
+ Gets the offset of a string in the #Strings heap. This method can only be called after
+ all strings have been added.
+
+ Offset id returned by
+
+
+
+
+ Adds a string to the #Strings heap, but does not re-use an existing position
+
+ The string
+ The offset of the string in the #Strings heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Strong name signature chunk
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Size of strong name signature
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ options
+
+
+
+
+ Should be 0
+
+
+
+
+ Major version number. Default is 2. Valid versions are v1.0 (no generics),
+ v1.1 (generics are supported), or v2.0 (recommended).
+
+
+
+
+ Minor version number. Default is 0.
+
+
+
+
+ Force #- or #~ stream. Default value is null and recommended because the correct
+ tables stream will be used. true will force #- (Edit N' Continue)
+ stream, and false will force #~ (normal compressed) stream.
+
+
+
+
+ Extra data to write
+
+
+
+
+ true if there are deleted s, s,
+ s, s, s and/or
+ s.
+
+
+
+
+ Creates portable PDB v1.0 options
+
+
+
+
+
+ Contains all .NET tables
+
+
+
+
+
+
+
+
+
+
+ All tables
+
+
+
+
+
+
+
+
+
+
+ true if the Edit 'N Continue name will be used (#-)
+
+
+
+
+ true if any rows have been deleted (eg. a deleted TypeDef, Method, Field, etc.
+ Its name has been renamed to _Deleted).
+
+
+
+
+ true if #Strings heap size > 0xFFFF
+
+
+
+
+ true if #GUID heap size > 0xFFFF
+
+
+
+
+ true if #Blob heap size > 0xFFFF
+
+
+
+
+ Constructor
+
+ Metadata owner
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Calculates the length. This will set all MD tables to read-only.
+
+
+
+
+
+
+
+
+
+
+ Re-uses existing chunks to save space
+
+ Chunk type
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Compares the chunk type
+
+
+
+
+
+
+ Adds a if not already present
+
+ The chunk to add or null if none
+ Chunk alignment
+ The original input if it wasn't present, or the cached one
+
+
+
+ #US heap
+
+
+
+
+
+
+
+ Populates strings from an existing (eg. to preserve
+ string tokens)
+
+ The #US stream with the original content
+
+
+
+ Adds a string to the #US heap
+
+ The string
+ The offset of the string in the #US heap
+
+
+
+ Adds a string to the #US heap
+
+ The string
+ The offset of the string in the #US heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Writes Win32 resources
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Win32 resources
+
+
+
+ Returns the and of a
+ . must have been called.
+
+ A
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The RVA or 0 if is invalid
+
+
+
+ Returns the and of a
+ . must have been called.
+
+ A
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The RVA or 0 if is invalid
+
+
+
+ Returns the and of a
+ . must have been called.
+
+ A
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The RVA or 0 if is invalid
+
+
+
+ Returns the and of a
+ 's name. must have been
+ called.
+
+ The name of a
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a 's name.
+ must have been called.
+
+ The name of a
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a 's name.
+ must have been called.
+
+ The name of a
+ The RVA or 0 if is invalid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A that reads from a byte array
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Creates a instance
+
+ Data
+ The filename or null if the data is not from a file
+
+
+
+
+ Creates a data reader
+
+ Data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ This method doesn't need to be called since a has nothing that must be cleaned up
+
+
+
+
+ Thrown by a when it can't read data or if the caller tries to set an invalid offset
+
+
+
+
+ Reads data
+
+
+
+
+ Gets the start offset of the data
+
+
+
+
+ Gets the end offset of the data, not inclusive
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Gets the current offset. This is between and (inclusive)
+
+
+
+
+ Gets/sets the position relative to
+
+
+
+
+ Gets the number of bytes that can be read without throwing an exception
+
+
+
+
+ Constructor
+
+ Stream
+ Start offset of data
+ Length of data
+
+
+
+ Resets the reader so it points to the start of the data
+
+
+
+
+ Creates a new reader that can access a smaller part of this reader
+
+ Start position relative to
+ Length of data
+
+
+
+
+ Creates a new reader that can access everything from to the end of the data
+
+ Start position relative to
+
+
+
+
+ Creates a new reader that can access a smaller part of this reader
+
+ Start position relative to
+ Length of data
+
+
+
+
+ Creates a new reader that can access everything from to the end of the data
+
+ Start position relative to
+
+
+
+
+ Checks if it's possible to read bytes
+
+ Length of data
+
+
+
+
+ Checks if it's possible to read bytes
+
+ Length of data
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a UTF-16 encoded
+
+ Number of characters to read
+
+
+
+
+ Reads bytes
+
+ Destination pointer
+ Number of bytes to read
+
+
+
+ Reads bytes
+
+ Destination array
+ Destination index
+ Number of bytes to read
+
+
+
+ Reads bytes
+
+ Number of bytes to read
+
+
+
+
+ Reads a compressed
+
+ Uncompressed
+
+
+
+
+ Reads a compressed
+
+
+
+
+
+ Reads a compressed
+
+ Uncompressed
+
+
+
+
+ Reads a compressed
+
+
+
+
+
+ Reads a 7-bit encoded integer
+
+
+
+
+
+ Reads a 7-bit encoded integer
+
+
+
+
+
+ Reads a serialized UTF-8 string
+
+
+
+
+
+ Reads a serialized string
+
+ Encoding
+
+
+
+
+ Returns all data without updating the current position
+
+
+
+
+
+ Returns the remaining data
+
+
+
+
+
+ Reads all bytes until a terminating byte or returns null if wasn't found.
+ If found, the current offset is incremented by the length of the returned data
+
+ Terminating byte value
+
+
+
+
+ Reads a zero-terminated UTF-8 string or returns null if the string couldn't be read.
+ If successful, the current offset is incremented past the terminating zero.
+
+
+
+
+
+ Reads a zero-terminated string or returns null if the string couldn't be read.
+ If successful, the current offset is incremented past the terminating zero.
+
+ Encoding
+
+
+
+
+ Reads a UTF-8 encoded string
+
+ Number of bytes to read (not characters)
+
+
+
+
+ Reads a string
+
+ Number of bytes to read (not characters)
+ Encoding
+
+
+
+
+ Creates a that can access this content. The caller doesn't have to dispose of the returned stream.
+
+
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Temp buffer during writing
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Temp buffer during writing
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Temp buffer during writing
+ Number of bytes written
+
+
+
+ Creates s that can read its data.
+
+ This factory class is thread safe and its data can be read by on any thread.
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Creates a data reader that can read all data
+
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Stream
+ Offset of data
+ Length of data
+
+
+
+
+ Raised when all cached s created by this instance must be recreated
+
+
+
+
+ Disposes of this instance
+
+
+
+
+ This class is used by a . The instance
+ verifies that all input are valid before calling any methods in this class.
+ This class is thread safe.
+
+
+
+
+ Reads bytes
+
+ Offset of data
+ Destination pointer
+ Number of bytes to read
+
+
+
+ Reads bytes
+
+ Offset of data
+ Destination array
+ Destination index
+ Number of bytes to read
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a UTF-16 encoded
+
+ Offset of data
+ Number of characters to read
+
+
+
+
+ Reads a string
+
+ Offset of data
+ Length of string in bytes
+ Encoding
+
+
+
+
+ Gets the data offset of a byte or returns false if the byte wasn't found
+
+ Offset of data
+ End offset of data (not inclusive)
+ Byte value to search for
+ Offset of the byte if found
+
+
+
+
+ Creates s
+
+
+
+
+ Creates a that reads from native memory
+
+ Pointer to data
+
+
+
+
+ Creates a that reads from a byte array
+
+ Data
+
+
+
+
+ Represents a file offset
+
+
+
+
+ Extension methods
+
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Base class for classes needing to implement IFileSection
+
+
+
+
+ The start file offset of this section
+
+
+
+
+ Size of the section
+
+
+
+
+
+
+
+
+
+
+ Set to 's current position
+
+ The reader
+
+
+
+ Set according to 's current position
+
+ The reader
+
+
+
+ Represents a section in a file
+
+
+
+
+ Start offset of the section in the file
+
+
+
+
+ End offset of the section in the file. This is one byte after the last
+ valid offset in the section.
+
+
+
+
+ Creates s that read memory mapped data
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Raised when all cached s created by this instance must be recreated
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Cleans up and frees all allocated memory
+
+
+
+
+ true if memory mapped I/O is enabled
+
+
+
+
+ Call this to disable memory mapped I/O. This must only be called if no other code is
+ trying to access the memory since that could lead to an exception.
+
+
+
+
+ Creates s that read native memory
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Creates a instance
+
+ Pointer to data
+ Length of data
+ The filename or null if the data is not from a file
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ This method doesn't need to be called since this instance doesn't own the native memory
+
+
+
+
+ IMAGE_FILE_HEADER.Characteristics flags
+
+
+
+ Relocation info stripped from file.
+
+
+ File is executable (i.e. no unresolved externel references).
+
+
+ Line nunbers stripped from file.
+
+
+ Local symbols stripped from file.
+
+
+ Agressively trim working set
+
+
+ App can handle >2gb addresses
+
+
+
+
+
+ Bytes of machine word are reversed.
+
+
+ 32 bit word machine.
+
+
+ Debugging info stripped from file in .DBG file
+
+
+ If Image is on removable media, copy and run from the swap file.
+
+
+ If Image is on Net, copy and run from the swap file.
+
+
+ System File.
+
+
+ File is a DLL.
+
+
+ File should only be run on a UP machine
+
+
+ Bytes of machine word are reversed.
+
+
+
+ IMAGE_OPTIONAL_HEADER.DllCharacteristics
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Image can handle a high entropy 64-bit virtual address space.
+
+
+ DLL can move.
+
+
+ Code Integrity Image
+
+
+ Image is NX compatible
+
+
+ Image understands isolation and doesn't want it
+
+
+ Image does not use SEH. No SE handler may reside in this image
+
+
+ Do not bind this image.
+
+
+ Image should execute in an AppContainer
+
+
+ Driver uses WDM model
+
+
+ Image supports Control Flow Guard.
+
+
+
+
+
+
+ Interface for PE optional header classes
+
+
+
+
+ Returns the Magic field
+
+
+
+
+ Returns the MajorLinkerVersion field
+
+
+
+
+ Returns the MinorLinkerVersion field
+
+
+
+
+ Returns the SizeOfCode field
+
+
+
+
+ Returns the SizeOfInitializedData field
+
+
+
+
+ Returns the SizeOfUninitializedData field
+
+
+
+
+ Returns the AddressOfEntryPoint field
+
+
+
+
+ Returns the BaseOfCode field
+
+
+
+
+ Returns the BaseOfData field
+
+
+
+
+ Returns the ImageBase field
+
+
+
+
+ Returns the SectionAlignment field
+
+
+
+
+ Returns the FileAlignment field
+
+
+
+
+ Returns the MajorOperatingSystemVersion field
+
+
+
+
+ Returns the MinorOperatingSystemVersion field
+
+
+
+
+ Returns the MajorImageVersion field
+
+
+
+
+ Returns the MinorImageVersion field
+
+
+
+
+ Returns the MajorSubsystemVersion field
+
+
+
+
+ Returns the MinorSubsystemVersion field
+
+
+
+
+ Returns the Win32VersionValue field
+
+
+
+
+ Returns the SizeOfImage field
+
+
+
+
+ Returns the SizeOfHeaders field
+
+
+
+
+ Returns the CheckSum field
+
+
+
+
+ Returns the Subsystem field
+
+
+
+
+ Returns the DllCharacteristics field
+
+
+
+
+ Returns the SizeOfStackReserve field
+
+
+
+
+ Returns the SizeOfStackCommit field
+
+
+
+
+ Returns the SizeOfHeapReserve field
+
+
+
+
+ Returns the SizeOfHeapCommit field
+
+
+
+
+ Returns the LoaderFlags field
+
+
+
+
+ Returns the NumberOfRvaAndSizes field
+
+
+
+
+ Returns the DataDirectories field. This array contains exactly 16 elements.
+
+
+
+
+ Represents the IMAGE_DATA_DIRECTORY PE section
+
+
+
+
+ Returns the IMAGE_DATA_DIRECTORY.VirtualAddress field
+
+
+
+
+ Returns the IMAGE_DATA_DIRECTORY.Size field
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ A IMAGE_DEBUG_DIRECTORY
+
+
+
+
+ Gets the characteristics (reserved)
+
+
+
+
+ Gets the timestamp
+
+
+
+
+ Gets the major version
+
+
+
+
+ Gets the minor version
+
+
+
+
+ Gets the type
+
+
+
+
+ Gets the size of data
+
+
+
+
+ RVA of the data
+
+
+
+
+ File offset of the data
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Image debug type, see IMAGE_DEBUG_TYPE_* in winnt.n
+
+
+
+
+ Contains PDB info
+
+
+
+
+ It's a deterministic (reproducible) PE file
+
+
+
+
+ Embedded portable PDB data
+
+
+
+
+ Checksum of the PDB file. 0 or more entries allowed.
+
+
+
+
+ Represents the IMAGE_DOS_HEADER PE section
+
+
+
+
+ File offset of the NT headers
+
+
+
+
+ Constructor
+
+ PE file reader
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_FILE_HEADER PE section
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.Machine field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.NumberOfSections field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.TimeDateStamp field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.PointerToSymbolTable field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.NumberOfSymbols field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.SizeOfOptionalHeader field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.Characteristics field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_NT_HEADERS PE section
+
+
+
+
+ Returns the IMAGE_NT_HEADERS.Signature field
+
+
+
+
+ Returns the IMAGE_NT_HEADERS.FileHeader field
+
+
+
+
+ Returns the IMAGE_NT_HEADERS.OptionalHeader field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Creates an IImageOptionalHeader
+
+ PE file reader pointing to the start of the optional header
+ Verify section
+ The created IImageOptionalHeader
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_OPTIONAL_HEADER (32-bit) PE section
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.Magic field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfCode field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfInitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfUninitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.AddressOfEntryPoint field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.BaseOfCode field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.BaseOfData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.ImageBase field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SectionAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.FileAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.Win32VersionValue field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfImage field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfHeaders field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.CheckSum field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.Subsystem field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.DllCharacteristics field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfStackReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfStackCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfHeapReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfHeapCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.LoaderFlags field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.NumberOfRvaAndSizes field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.DataDirectories field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Total size of this optional header (from the file header)
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_OPTIONAL_HEADER64 PE section
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.Magic field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfCode field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfInitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfUninitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.AddressOfEntryPoint field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.BaseOfCode field
+
+
+
+
+ Returns 0 since BaseOfData is not present in IMAGE_OPTIONAL_HEADER64
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.ImageBase field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SectionAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.FileAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.Win32VersionValue field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfImage field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfHeaders field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.CheckSum field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.Subsystem field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.DllCharacteristics field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfStackReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfStackCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfHeapReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfHeapCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.LoaderFlags field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.NumberOfRvaAndSizes field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.DataDirectories field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Total size of this optional header (from the file header)
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_SECTION_HEADER PE section
+
+
+
+
+ Returns the human readable section name, ignoring everything after
+ the first nul byte
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.Name field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.VirtualSize field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.VirtualAddress field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.SizeOfRawData field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.PointerToRawData field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.PointerToRelocations field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.PointerToLinenumbers field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.NumberOfRelocations field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.NumberOfLinenumbers field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.Characteristics field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Converts s to/from s
+
+
+
+
+ Converts a to an
+
+ The file offset to convert
+ The RVA
+
+
+
+ Converts an to a
+
+ The RVA to convert
+ The file offset
+
+
+
+ Interface to access a PE image
+
+
+
+
+ true if image layout is the same as the raw PE image layout, false
+ if it's the same layout as a PE image loaded by the OS PE loader.
+
+
+
+
+ true if some of the memory where the image is located could be unavailable.
+ This could happen if it's been loaded by the OS loader.
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Returns the DOS header
+
+
+
+
+ Returns the NT headers
+
+
+
+
+ Returns the section headers
+
+
+
+
+ Returns the debug directories
+
+
+
+
+ Gets/sets the Win32 resources. This is null if there are no Win32 resources.
+
+
+
+
+ Gets the factory
+
+
+
+
+ Creates a from to the end of the image
+
+ Offset of data
+
+
+
+
+ Creates a
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a from to the end of the image
+
+ RVA of data
+
+
+
+
+ Creates a
+
+ RVA of data
+ Length of data
+
+
+
+
+ Creates a that can read the whole image
+
+
+
+
+
+ Interface to access a PE image
+
+
+
+
+ Call this to disable memory mapped I/O if it was used to open the file. This must only
+ be called if no other code is trying to access the memory since that could lead to an
+ exception.
+
+
+
+
+ true if memory mapped I/O is enabled
+
+
+
+
+ Extension methods
+
+
+
+
+ Finds a
+
+ this
+ Type
+ Name
+ Language ID
+ The or null if none found
+
+
+
+ Calculates a PE checksum
+
+ PE image stream positioned at the MZ bytes
+ Length of image
+ Offset of checksum
+ PE checksum
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Converts a to/from an
+
+
+
+
+ Converts a to an
+
+ The PEInfo context
+ The file offset to convert
+ The RVA
+
+
+
+ Converts an to a
+
+ The PEInfo context
+ The RVA to convert
+ The file offset
+
+
+
+ IMAGE_FILE_HEADER.Machine enum
+
+
+
+ Unknown machine
+
+
+ x86
+
+
+ MIPS little-endian, 0x160 big-endian
+
+
+ MIPS little-endian
+
+
+ MIPS little-endian
+
+
+ MIPS little-endian WCE v2
+
+
+ Alpha_AXP
+
+
+ SH3 little-endian
+
+
+
+
+
+ SH3E little-endian
+
+
+ SH4 little-endian
+
+
+ SH5
+
+
+ ARM Little-Endian
+
+
+ ARM Thumb/Thumb-2 Little-Endian
+
+
+ ARM Thumb-2 Little-Endian
+
+
+
+
+
+ IBM PowerPC Little-Endian
+
+
+
+
+
+ IA-64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Infineon
+
+
+
+
+
+ EFI Byte Code
+
+
+ x64
+
+
+ M32R little-endian
+
+
+
+
+
+
+
+
+
+ Extensions
+
+
+
+
+ Checks if is a 64-bit machine
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Image layout
+
+
+
+
+ Use this if the PE file has a normal structure (eg. it's been read from a file on disk)
+
+
+
+
+ Use this if the PE file has been loaded into memory by the OS PE file loader
+
+
+
+
+ Accesses a PE file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Data reader factory
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ Name of the file
+ true if we should map it as an executable
+ Verify PE file data
+
+
+
+ Constructor
+
+ Name of the file
+ Verify PE file data
+
+
+
+ Constructor
+
+ Name of the file
+
+
+
+ Constructor
+
+ The PE file data
+ Filename or null
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Filename or null
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Filename or null
+
+
+
+ Constructor
+
+ Address of PE image
+ Length of PE image
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+ Length of PE image
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+ Length of PE image
+
+
+
+ Constructor
+
+ Address of PE image
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reads all PE sections from a PE stream
+
+
+
+
+ Returns the DOS header
+
+
+
+
+ Returns the NT headers
+
+
+
+
+ Returns the section headers
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify sections
+ Thrown if verification fails
+
+
+
+ Returns the first that has data at file offset
+
+
+ The file offset
+
+
+
+
+ Returns the first that has data at RVA
+
+
+ The RVA
+
+
+
+
+ Converts a to an
+
+ The file offset to convert
+ The RVA
+
+
+
+ Converts an to a
+
+ The RVA to convert
+ The file offset
+
+
+
+ Returns size of image rounded up to
+
+ It calculates the size itself, and does not return
+ Size of image in bytes
+
+
+
+ Represents an RVA (relative virtual address)
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.Subsystem
+
+
+
+ Unknown subsystem.
+
+
+ Image doesn't require a subsystem.
+
+
+ Image runs in the Windows GUI subsystem.
+
+
+ Image runs in the Windows character subsystem.
+
+
+ image runs in the OS/2 character subsystem.
+
+
+ image runs in the Posix character subsystem.
+
+
+ image is a native Win9x driver.
+
+
+ Image runs in the Windows CE subsystem.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ dnlib settings
+
+
+
+
+ true if dnlib is thread safe. (THREAD_SAFE was defined during compilation)
+
+
+
+
+ Cancellation token interface
+
+
+
+
+ Throws a if the operation should be canceled
+
+
+
+
+ Simple class using Monitor.Enter() and Monitor.Exit()
+ and just like ReaderWriterLockSlim it prevents recursive locks. It doesn't support
+ multiple readers. A reader lock is the same as a writer lock.
+
+
+
+
+ Creates a new instance of this class
+
+
+
+
+
+ Constructor
+
+
+
+
+ Enter read mode
+
+
+
+
+ Exit read mode
+
+
+
+
+ Enter write mode
+
+
+
+
+ Exit write mode
+
+
+
+
+ Interface to access a lazily initialized list
+
+ Type to store in list
+
+
+
+ Gets notified of list events
+
+ List value
+
+
+
+ Called before a new value is lazily added to the list.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index where the value will be added
+ Value that will be added to the list. It can be modified by
+ the callee.
+
+
+
+ Called before a new value is added to the list.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index where the value will be added
+ Value that will be added to the list
+
+
+
+ Called before a value is removed from the list. If all elements are removed,
+ is called, and this method is not called.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index of value
+ The value that will be removed
+
+
+
+ Called after the list has been resized (eg. an element has been added/removed). It's not
+ called when an element is replaced.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index where the change occurred.
+
+
+
+ Called before the whole list is cleared.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+
+
+
+ Implements a that is lazily initialized
+
+ Type to store in list
+
+
+
+ Stores a simple value
+
+
+
+
+ true if it has been initialized, false otherwise
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor that should be used when new elements are inserted into
+
+ User data
+
+
+
+ Gets the value
+
+ Index in the list
+
+
+
+ Sets the value
+
+ Index in the list
+ New value
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ List listener
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enumerator
+
+
+
+
+ Gets the current value
+
+
+
+
+ Moves to the next element in the collection
+
+
+
+
+
+ Disposes the enumerator
+
+
+
+
+ Gets the list enumerator
+
+
+
+
+
+
+
+
+ Implements a that is lazily initialized
+
+ Type to store in list
+ Type of the context passed to the read-value delegate
+
+
+
+ Stores data and keeps track of the original index and whether the data has been
+ initialized or not.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor that should only be called when is initialized.
+
+ Original index of this element
+ LazyList instance
+
+
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ List listener
+
+
+
+ Constructor
+
+ Initial length of the list
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ Constructor
+
+ Initial length of the list
+ List listener
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ A readonly list that gets initialized lazily
+
+ Any class type
+
+
+
+ Gets the length of this list
+
+
+
+
+ Access the list
+
+ Index
+ The element or null if is invalid
+
+
+
+ Constructor
+
+ Length of the list
+ Delegate instance that lazily reads an element. It might
+ be called more than once for each rid in rare cases. It must never return
+ null.
+
+
+
+ A readonly list that gets initialized lazily
+
+ Any class type
+
+
+
+ Gets the length of this list
+
+
+
+
+ Access the list
+
+ Index
+ Generic parameter context
+ The element or null if is invalid
+
+
+
+ Constructor
+
+ Length of the list
+ Delegate instance that lazily reads an element. It might
+ be called more than once for each rid. It must never return null.
+
+
+
+ Lazily returns the original value if the user hasn't overwritten the value
+
+ Value type
+
+
+
+ Sets the lock that protects the data
+
+
+
+
+ Set a delegate instance that will return the original value
+
+
+
+
+ Gets/sets the value
+
+ The getter returns the original value if the value hasn't been initialized.
+
+
+
+ Returns true if the value has been initialized
+
+
+
+
+ Returns true if the value was set by the user
+
+
+
+
+ A resource blob
+
+
+
+
+ Gets the data reader
+
+
+
+
+
+ Gets/sets the code page
+
+
+
+
+ Gets/sets the reserved field
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of resource data
+ Length of resource data
+ Name
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of resource data
+ Length of resource data
+ Name
+ Code page
+ Reserved value
+
+
+
+ A Win32 resource directory (see IMAGE_RESOURCE_DIRECTORY in the Windows SDK)
+
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+
+ Gets/sets the characteristics
+
+
+
+
+ Gets/sets the time date stamp
+
+
+
+
+ Gets/sets the major version number
+
+
+
+
+ Gets/sets the minor version number
+
+
+
+
+ Gets all directory entries
+
+
+
+
+ Gets all resource data
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Finds a by name
+
+ Name
+ A or null if it wasn't found
+
+
+
+ Finds a by name
+
+ Name
+ A or null if it wasn't found
+
+
+
+ A Win32 resource directory created by the user
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ A Win32 resource directory created from a PE file
+
+
+
+
+ To make sure we don't get stuck in an infinite loop, don't allow more than this
+ many sub directories.
+
+
+
+ Owner
+
+
+ Directory depth. When creating more 's,
+ the instances get this value + 1
+
+
+
+ Info about all 's we haven't created yet
+
+
+
+
+ Info about all 's we haven't created yet
+
+
+
+ Offset of resource directory / data
+
+
+
+ Constructor
+
+ Starts from 0. If it's big enough, we'll stop reading more data.
+ Name
+ Resources
+ Reader positioned at the start of this resource directory
+
+
+
+ Reads the directory header and initializes and
+ .
+
+
+
+
+
+ Reads a string
+
+ Reader
+ Offset of string
+ The string or null if we could not read it
+
+
+
+ Base class of and
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+
+
+
+ A Win32 resource name. It can be either an integer or a string.
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ The ID. It's only valid if is true
+
+
+
+
+ The name. It's only valid if is true
+
+
+
+
+ Constructor
+
+ ID
+
+
+
+ Constructor
+
+ Name
+
+
+ Converts input to a
+
+
+ Converts input to a
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Win32 resources base class
+
+
+
+
+ Gets/sets the root directory
+
+
+
+
+ Finds a
+
+ Type
+ The or null if none found
+
+
+
+ Finds a
+
+ Type
+ Name
+ The or null if none found
+
+
+
+ Finds a
+
+ Type
+ Name
+ Language ID
+ The or null if none found
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Win32 resources class created by the user
+
+
+
+
+
+
+
+ Win32 resources class created from a PE file
+
+
+
+
+ Converts data RVAs to file offsets in
+
+
+
+
+ This reader only reads the raw data. The data RVA is found in the data header and
+ it's first converted to a file offset using . This file
+ offset is where we'll read from using this reader.
+
+
+
+
+ This reader only reads the directory entries and data headers. The data is read
+ by
+
+
+
+
+
+
+
+ Gets the resource reader
+
+
+
+
+ Constructor
+
+ / converter
+ Reader for the whole Win32 resources section (usually
+ the .rsrc section). It's used to read 's and
+ 's but not the actual data blob.
+ Offset of resource section
+ Length of resource section
+ true if this instance can dispose of
+ Data reader (it's used after converting an
+ to a )
+ Offset of resource section
+ Length of resource section
+ true if this instance can dispose of
+
+
+
+ Constructor
+
+ The PE image
+
+
+
+ Constructor
+
+ The PE image
+ Reader for the whole Win32 resources section (usually
+ the .rsrc section) or null if we should create one from the resource data
+ directory in the optional header
+ Offset of resource section
+ Length of resource section
+ true if this instance can dispose of
+
+
+
+ Creates a new data reader
+
+ RVA of data
+ Size of data
+
+
+
+
+
+
+
diff --git a/packages/dnlib.3.3.2/lib/netstandard2.0/dnlib.dll b/packages/dnlib.3.3.2/lib/netstandard2.0/dnlib.dll
new file mode 100644
index 0000000..58e49b4
Binary files /dev/null and b/packages/dnlib.3.3.2/lib/netstandard2.0/dnlib.dll differ
diff --git a/packages/dnlib.3.3.2/lib/netstandard2.0/dnlib.xml b/packages/dnlib.3.3.2/lib/netstandard2.0/dnlib.xml
new file mode 100644
index 0000000..7e70c04
--- /dev/null
+++ b/packages/dnlib.3.3.2/lib/netstandard2.0/dnlib.xml
@@ -0,0 +1,38514 @@
+
+
+
+ dnlib
+
+
+
+
+ Returns types without getting stuck in an infinite loop
+
+
+
+
+ Gets a list of all types and nested types
+
+ A list of types
+
+
+
+ Assembly flags from Assembly.Flags column.
+
+ See CorHdr.h/CorAssemblyFlags
+
+
+ No flags set
+
+
+ The assembly ref holds the full (unhashed) public key.
+
+
+ Processor Architecture unspecified
+
+
+ Processor Architecture: neutral (PE32)
+
+
+ Processor Architecture: x86 (PE32)
+
+
+ Processor Architecture: Itanium (PE32+)
+
+
+ Processor Architecture: AMD X64 (PE32+)
+
+
+ Processor Architecture: ARM (PE32)
+
+
+ applies to any platform but cannot run on any (e.g. reference assembly), should not have "specified" set
+
+
+ Propagate PA flags to AssemblyRef record
+
+
+ Bits describing the processor architecture
+
+
+ Bits describing the PA incl. Specified
+
+
+ NOT A FLAG, shift count in PA flags <--> index conversion
+
+
+ From "DebuggableAttribute".
+
+
+ From "DebuggableAttribute".
+
+
+ The assembly can be retargeted (at runtime) to an assembly from a different publisher.
+
+
+
+
+
+
+
+
+ Bits describing ContentType
+
+
+
+ A high-level representation of a row in the Assembly table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Assembly.HashAlgId
+
+
+
+
+
+
+
+ From columns Assembly.MajorVersion, Assembly.MinorVersion, Assembly.BuildNumber,
+ Assembly.RevisionNumber.
+
+ If is null
+
+
+
+
+
+
+ From column Assembly.Flags
+
+
+
+ Attributes
+
+
+
+ From column Assembly.PublicKey
+
+ An empty is created if the caller writes null
+
+
+
+
+
+
+ Gets the public key token which is calculated from
+
+
+
+
+ From column Assembly.Name
+
+
+
+ Name
+
+
+
+ From column Assembly.Locale
+
+
+
+ Name
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all modules. The first module is always the .
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the manifest (main) module. This is always the first module in .
+ null is returned if is empty.
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+ Finds a module in this assembly
+
+ Name of module
+ A instance or null if it wasn't found.
+
+
+
+ Creates an instance from a file
+
+ File name of an existing .NET assembly
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a file
+
+ File name of an existing .NET assembly
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a byte[]
+
+ Contents of a .NET assembly
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a byte[]
+
+ Contents of a .NET assembly
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a memory location
+
+ Address of a .NET assembly
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a memory location
+
+ Address of a .NET assembly
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream
+ Module context or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Creates an instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream
+ Module creation options or null
+ A new instance
+ If is null
+ If it's not a .NET assembly (eg. not a .NET file or only a .NET module)
+
+
+
+ Gets the assembly name with the public key
+
+
+
+
+ Gets the assembly name with the public key token
+
+
+
+
+ Finds a . For speed, enable
+ if possible (read the documentation first).
+
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing or null if it wasn't found.
+
+
+
+ Finds a . Its scope (i.e., module or assembly) is ignored when
+ looking up the type. For speed, enable
+ if possible (read the documentation first).
+
+ The type ref
+ An existing or null if it wasn't found.
+
+
+
+ Writes the assembly to a file on disk. If the file exists, it will be truncated.
+
+ Filename
+ Writer options
+
+
+
+ Writes the assembly to a stream.
+
+ Destination stream
+ Writer options
+
+
+
+ Checks whether this assembly is a friend assembly of
+
+ Target assembly
+
+
+
+ Adds or updates an existing System.Reflection.AssemblySignatureKeyAttribute
+ attribute. This attribute is used in enhanced strong naming with key migration.
+ See http://msdn.microsoft.com/en-us/library/hh415055.aspx
+
+ Identity public key
+ Identity strong name key pair
+ Signature public key
+
+
+
+ Gets the original System.Runtime.Versioning.TargetFrameworkAttribute custom attribute information if possible.
+ It reads this from the original metadata and doesn't use .
+ Returns false if the custom attribute isn't present or if it is invalid.
+
+ Framework name
+ Version
+ Profile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An Assembly row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Simple name
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key
+ Locale
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Assembly name info
+ If is null
+
+
+
+ Constructor
+
+ Assembly name info
+ If is null
+
+
+
+ Created from a row in the Assembly table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Assembly row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Hashes some data according to a
+
+
+
+
+ Constructor
+
+ If is an unsupported hash algorithm, then
+ will be used as the hash algorithm.
+ The algorithm to use
+
+
+
+
+
+
+ Hash data
+
+ If is an unsupported hash algorithm, then
+ will be used as the hash algorithm.
+ The data
+ The algorithm to use
+ Hashed data or null if was null
+
+
+
+ Hash data
+
+ Data
+
+
+
+ Hash data
+
+ Data
+ Offset
+ Length
+
+
+
+ Hash stream data
+
+ Stream
+ Number of bytes to hash
+ Temp buffer
+
+
+
+ Computes the hash
+
+
+
+
+ Creates a public key token from the hash of some
+
+ A public key is hashed, and the last 8 bytes of the hash, in reverse
+ order, is used as the public key token
+ The data
+ A new instance
+
+
+
+ Any ALG_CLASS_HASH type in WinCrypt.h can be used by Microsoft's CLI implementation
+
+
+
+
+
+
+
+
+
+
+
+
+ This is a reserved value in the CLI
+
+
+ The only algorithm supported by the CLI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Extension methods
+
+
+
+
+ Gets the field type
+
+ this
+ Field type or null if none
+
+
+
+ Gets the return type
+
+ this
+ Return type or null if none
+
+
+
+ Gets the parameters
+
+ this
+ The parameters
+
+
+
+ Gets the parameter count
+
+ this
+ Parameter count
+
+
+
+ Gets the generic parameter count
+
+ this
+ Generic parameter count
+
+
+
+ Gets the parameters after the sentinel
+
+ this
+ Parameters after sentinel or null if none
+
+
+
+ Gets the locals
+
+ this
+ All locals
+
+
+
+ Gets the generic arguments
+
+ this
+ All generic arguments
+
+
+
+ Gets the property
+
+ this
+ The type's property or
+ false if input isnull
+
+
+
+ Returns true if it's an integer or a floating point type
+
+ Element type
+
+
+
+
+ Returns the size of the element type in bytes or -1 if it's unknown
+
+ Element type
+ Size of a pointer
+
+
+
+
+ Checks whether it's a value type
+
+ this
+ true if it's a value type, false if it's not a value type or
+ if we couldn't determine whether it's a value type. Eg., it could be a generic
+ instance type.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver or
+ null if the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver or
+ null if the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver
+ If the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver
+ If the assembly couldn't be found.
+
+
+
+ Finds and returns an
+
+ this
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver
+ If the assembly couldn't be found.
+
+
+
+ Checks whether appears to be the core library (eg.
+ mscorlib, System.Runtime or corefx).
+
+ If is a reference to a private corlib (eg. System.Private.CoreLib),
+ this method returns false unless is an
+ whose manifest (first) module defines System.Object. This check is performed in
+ the constructor and the result can be found in .
+
+ Note that this method also returns true if it appears to be a 'public' corlib,
+ eg. mscorlib, etc, even if it internally possibly references a private corlib.
+
+ The assembly
+
+
+
+ Converts to a instance
+
+ The assembly
+ A new instance
+
+
+
+ Converts to a
+
+ The type
+ true if we should try to figure out whether
+ is a
+ A instance or null if
+ is invalid
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns the base type of . Throws if we can't resolve
+ a .
+
+ The type
+ The base type or null if there's no base type
+
+
+
+ Returns the base type of
+
+ The type
+ true if we should throw if we can't
+ resolve a . false if we should ignore the error and
+ just return null.
+ The base type or null if there's no base type, or if
+ is true and we couldn't resolve
+ a
+
+
+
+ Gets the scope type, resolves it, and returns the
+
+ Type
+ A or null if input was null or if we
+ couldn't resolve the reference.
+
+
+
+ Gets the scope type, resolves it, and returns the
+
+ Type
+ A instance.
+ If the type couldn't be resolved
+
+
+
+ Resolves an to a . Returns null if it
+ was not possible to resolve it. See also
+
+ Field to resolve
+ The or null if is
+ null or if it wasn't possible to resolve it (the field doesn't exist or its
+ assembly couldn't be loaded)
+
+
+
+ Resolves an to a and throws an exception if
+ it was not possible to resolve it. See also
+
+ Field to resolve
+ The
+
+
+
+ Resolves an to a . Returns null if it
+ was not possible to resolve it. See also . If
+ is a , then the
+ property is resolved and returned.
+
+ Method to resolve
+ The or null if is
+ null or if it wasn't possible to resolve it (the method doesn't exist or its
+ assembly couldn't be loaded)
+
+
+
+ Resolves an to a and throws an exception
+ if it was not possible to resolve it. See also . If
+ is a , then the
+ property is resolved and returned.
+
+ Method to resolve
+ The
+
+
+
+ Returns the definition assembly of a
+
+ Member reference
+
+
+
+
+ Gets the normal visible parameters, doesn't include the hidden 'this' parameter
+
+ this
+ The normal visible parameters
+
+
+
+ Gets the normal visible parameter count, doesn't include the hidden 'this' parameter
+
+ this
+ Normal visible parameter count
+
+
+
+ Checks whether any normal visible parameter exists, doesn't include the hidden 'this' parameter
+
+ this
+ true if there's at least one normal visible parameter
+
+
+
+ Gets a normal visible parameter, doesn't include the hidden 'this' parameter
+
+ this
+ Normal visible parameter index
+
+
+
+
+ Converts a to a
+
+ The sig
+
+
+
+ Returns true if it's an integer or a floating point type
+
+ Type
+
+
+
+
+ Gets a if matches a primitive type.
+
+ this
+ The type
+ A or null if it didn't match any primitive type
+
+
+
+ Gets a if and
+ matches a primitive type.
+
+ this
+ Namespace
+ Name
+ Definition assembly
+ A or null if it didn't match any primitive type
+
+
+
+ Gets a if and
+ matches a primitive type.
+
+ this
+ Namespace
+ Name
+ Definition assembly
+ A or null if it didn't match any primitive type
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log an error message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log a warning message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log an info message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log a verbose message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arg #1
+ Message arg #2
+ Message arg #3
+ Message arg #4
+
+
+
+ Log a very verbose message
+
+ this
+ Sender or null
+ Message
+ Message arguments
+
+
+
+ Resolves a type
+
+ this
+ The type
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves a type
+
+ this
+ The type
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Resolves a type
+
+ this
+ The type
+ The module that needs to resolve the type or null
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Resolves a method or a field
+
+ this
+ A method/field reference
+ A or a instance
+ If the method/field couldn't be resolved
+
+
+
+ Resolves a field
+
+ this
+ A field reference
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves a field
+
+ this
+ A field reference
+ A instance or null if it couldn't be resolved.
+ If the field couldn't be resolved
+
+
+
+ Resolves a method
+
+ this
+ A method reference
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves a method
+
+ this
+ A method reference
+ A instance or null if it couldn't be resolved.
+ If the method couldn't be resolved
+
+
+
+ Resolves a token
+
+ This
+ The metadata token
+ A or null if is invalid
+
+
+
+ Returns , but if it's a nested ,
+ return the non-nested
+
+ this
+ The scope type
+
+
+
+ Finds a . Its scope (i.e., module or assembly) is ignored when
+ looking up the type.
+
+ this
+ The type ref
+ An existing or null if it wasn't found.
+ If type couldn't be found
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing
+ If type couldn't be found
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by /
+ An existing or null if it wasn't found.
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by /
+ An existing
+ If type couldn't be found
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by +
+ An existing or null if it wasn't found.
+
+
+
+ Finds a
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by +
+ An existing
+ If type couldn't be found
+
+
+
+ Checks whether a exists. 's scope (i.e.,
+ module or assembly) is ignored when looking up the type.
+
+ this
+ The type ref
+ true if the exists, false otherwise
+
+
+
+ Checks whether a exists
+
+ this
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ true if the exists, false otherwise
+
+
+
+ Checks whether a exists
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by /
+ true if the exists, false otherwise
+
+
+
+ Checks whether a exists
+
+ this
+ Full name of the type (no assembly information). Nested types are separated by +
+ true if the exists, false otherwise
+
+
+
+ Removes all C optional/required modifiers
+
+ A instance
+ Input after all modifiers
+
+
+
+ Removes pinned signature
+
+ The type
+ Input after pinned signature
+
+
+
+ Removes all modifiers and pinned sig
+
+ The type
+ Inputer after modifiers and pinned signature
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Returns a
+
+ The type
+ A or null if it's not a
+
+
+
+
+ Gets the next field or null
+
+ this
+
+
+
+
+ Gets the value or false if
+ is null
+
+ this
+
+
+
+
+ Gets the value or false if
+ is null
+
+ this
+
+
+
+
+ Gets the element type
+
+ this
+ The element type
+
+
+
+ Gets the full name of the type
+
+ this
+ Full name of the type
+
+
+
+ Gets the name of the type
+
+ this
+ Name of the type
+
+
+
+ Gets the namespace of the type
+
+ this
+ Namespace of the type
+
+
+
+ Returns the if it is a .
+
+ this
+ A or null if none found
+
+
+
+ Returns the if it is a .
+
+ this
+ A or null if none found
+
+
+
+ Returns the if it is a .
+ Nothing is resolved.
+
+ this
+ A or null if none found
+
+
+
+ Returns the if it is a .
+
+ this
+ A or null if none found
+
+
+
+ Flags used by
+
+
+
+
+ Compare assembly simple name
+
+
+
+
+ Compare assembly version
+
+
+
+
+ Compare assembly public key token
+
+
+
+
+ Compare assembly culture
+
+
+
+
+ Compare content type
+
+
+
+
+ Compare assembly simple name, version, public key token, locale and content type
+
+
+
+
+ Compares two assembly names
+
+
+
+
+ Compares the name, version, public key token, culture and content type
+
+
+
+
+ Compares only the name and the public key token
+
+
+
+
+ Compares only the name
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Constructor
+
+ Comparison flags
+
+
+
+ Compares two assembly names
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two assembly names
+
+ First
+ Second
+ true if equal, false otherwise
+
+
+
+ Figures out which of two assembly names is closer to another assembly name
+
+ Requested assembly name
+ First
+ Second
+ -1 if both are equally close, 0 if is closest, 1 if
+ is closest
+
+
+
+ Gets the hash code of an assembly name
+
+ Assembly name
+ The hash code
+
+
+
+ Stores assembly name information
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the or null if none specified
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the public key or token
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the culture or null if none specified
+
+
+
+
+ Gets the full name of the assembly
+
+
+
+
+ Gets the full name of the assembly but use a public key token
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ An assembly name
+
+
+
+ Constructor
+
+ The assembly
+
+
+
+ Constructor
+
+ Assembly name info
+
+
+
+
+
+
+ A high-level representation of a row in the AssemblyRef table
+
+
+
+
+ An assembly ref that can be used to indicate that it references the current assembly
+ when the current assembly is not known (eg. a type string without any assembly info
+ when it references a type in the current assembly).
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From columns AssemblyRef.MajorVersion, AssemblyRef.MinorVersion,
+ AssemblyRef.BuildNumber, AssemblyRef.RevisionNumber
+
+ If is null
+
+
+
+
+
+
+ From column AssemblyRef.Flags
+
+
+
+ Attributes
+
+
+
+ From column AssemblyRef.PublicKeyOrToken
+
+ If is null
+
+
+
+
+
+
+ From column AssemblyRef.Name
+
+
+
+ Name
+
+
+
+ From column AssemblyRef.Locale
+
+
+
+ Culture
+
+
+
+ From column AssemblyRef.HashValue
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ Same as , except that it uses the PublicKey if available.
+
+
+
+
+ Gets the full name of the assembly but use a public key token
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+
+
+
+ An AssemblyRef row created by the user and not present in the original .NET file
+
+
+
+
+ Creates a reference to CLR 1.0's mscorlib
+
+
+
+
+ Creates a reference to CLR 1.1's mscorlib
+
+
+
+
+ Creates a reference to CLR 2.0's mscorlib
+
+
+
+
+ Creates a reference to CLR 4.0's mscorlib
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Simple name
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key or public key token
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Simple name
+ Version
+ Public key or public key token
+ Locale
+ If any of the args is invalid
+
+
+
+ Constructor
+
+ Assembly name info
+ If is null
+
+
+
+ Constructor
+
+ Assembly
+
+
+
+ Created from a row in the AssemblyRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this AssemblyRef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Resolves assemblies
+
+
+
+
+ Gets/sets the default
+
+
+
+
+ true if should find an assembly that matches exactly.
+ false if it first tries to match exactly, and if that fails, it picks an
+ assembly that is closest to the requested assembly.
+
+
+
+
+ true if resolved .NET framework assemblies can be redirected to the source
+ module's framework assembly version. Eg. if a resolved .NET 3.5 assembly can be
+ redirected to a .NET 4.0 assembly if the source module is a .NET 4.0 assembly. This is
+ ignored if is true.
+
+
+
+
+ If true, all modules in newly resolved assemblies will have their
+ property set to true. This is
+ enabled by default since these modules shouldn't be modified by the user.
+
+
+
+
+ true to search the Global Assembly Cache. Default value is true.
+
+
+
+
+ Gets paths searched before trying the standard locations
+
+
+
+
+ Gets paths searched after trying the standard locations
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Module context for all resolved assemblies
+
+
+
+
+
+
+ Add a module's assembly to the assembly cache
+
+ The module whose assembly should be cached
+ true if 's assembly is cached, false
+ if it's not cached because some other assembly with the exact same full name has
+ already been cached or if or its assembly is null.
+
+
+
+ Add an assembly to the assembly cache
+
+ The assembly
+ true if is cached, false if it's not
+ cached because some other assembly with the exact same full name has already been
+ cached or if is null.
+
+
+
+ Removes a module's assembly from the cache
+
+ The module
+ true if its assembly was removed, false if it wasn't removed
+ since it wasn't in the cache, it has no assembly, or was
+ null
+
+
+
+ Removes the assembly from the cache
+
+ The assembly
+ true if it was removed, false if it wasn't removed since it
+ wasn't in the cache or if was null
+
+
+
+ Clears the cache and calls on each cached module.
+ Use to remove any assemblies you added yourself
+ using before calling this method if you don't want
+ them disposed.
+
+
+
+
+ Gets the cached assemblies in this resolver.
+
+ The cached assemblies.
+
+
+
+ Finds an assembly that exactly matches the requested assembly
+
+ Assembly to find
+ Search paths or null if none
+ Module context
+ An instance or null if an exact match
+ couldn't be found.
+
+
+
+ Finds the closest assembly from the already cached assemblies
+
+ Assembly to find
+ The closest or null if none found
+
+
+
+ Returns true if is inserted in
+
+ Assembly to check
+
+
+
+ Called before
+
+ Assembly to find
+ The module that needs to resolve an assembly or null
+ We're trying to find an exact match
+ null or an enumerable of full paths to try
+
+
+
+ Called after (if it fails)
+
+ Assembly to find
+ The module that needs to resolve an assembly or null
+ We're trying to find an exact match
+ null or an enumerable of full paths to try
+
+
+
+ Called after (if it fails)
+
+ Assembly to find
+ The module that needs to resolve an assembly or null
+ We're trying to find an exact match
+ null or an enumerable of full paths to try
+
+
+
+ Gets all search paths to use for this module
+
+ The module or null if unknown
+ A list of all search paths to use for this module
+
+
+
+ Gets all module search paths. This is usually empty unless its assembly has
+ a .config file specifying any additional private search paths in a
+ <probing/> element.
+
+ The module or null if unknown
+ A list of search paths
+
+
+
+ Gets all private assembly search paths as found in the module's .config file.
+
+ The module or null if unknown
+ A list of search paths
+
+
+
+ See CorHdr.h/CorCallingConvention
+
+
+
+ The managed calling convention
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ generic method instantiation
+
+
+ used ONLY for 64bit vararg PInvoke calls
+
+
+ Calling convention is bottom 4 bits
+
+
+ Generic method
+
+
+ Method needs a 'this' parameter
+
+
+ 'this' parameter is the first arg if set (else it's hidden)
+
+
+ Used internally by the CLR
+
+
+
+ Base class for sigs with a calling convention
+
+
+
+
+ The calling convention
+
+
+
+
+ Gets/sets the extra data found after the signature
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Returns true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if there's an implicit this parameter
+
+
+
+
+ true if this contains a
+ or a .
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The calling convention
+
+
+
+ Gets the calling convention
+
+
+
+
+ A field signature
+
+
+
+
+ Gets/sets the field type
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Field type
+
+
+
+ Constructor
+
+ Field type
+ The calling convention (must have Field set)
+
+
+
+ Clone this
+
+
+
+
+
+
+
+ Method sig base class
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the calling convention
+
+
+
+
+ Gets/sets the return type
+
+
+
+
+ Gets the parameters. This is never null
+
+
+
+
+ Gets/sets the generic param count
+
+
+
+
+ Gets the parameters that are present after the sentinel. Note that this is null
+ if there's no sentinel. It can still be empty even if it's not null.
+
+
+
+
+ A method signature
+
+
+
+
+ Gets/sets the original token. It's set when reading calli instruction operands
+ and it's a hint to the module writer if it tries to re-use the same token.
+
+
+
+
+ Creates a static MethodSig
+
+ Return type
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates a static MethodSig
+
+ Return type
+ Argument types
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates an instance MethodSig
+
+ Return type
+ Argument types
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates a static generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates an instance generic MethodSig
+
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Arg type #1
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+ Parameters after sentinel
+
+
+
+ Clone this
+
+
+
+
+
+
+
+ A property signature
+
+
+
+
+ Creates a static PropertySig
+
+ Return type
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates a static PropertySig
+
+ Return type
+ Argument types
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Arg type #1
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Creates an instance PropertySig
+
+ Return type
+ Argument types
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention (must have Property set)
+
+
+
+ Constructor
+
+ true if instance, false if static
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Arg type #1
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Arg type #1
+ Arg type #2
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Arg type #1
+ Arg type #2
+ Arg type #3
+
+
+
+ Constructor
+
+ true if instance, false if static
+ Return type
+ Argument types
+
+
+
+ Constructor
+
+ Calling convention
+ Number of generic parameters
+ Return type
+ Argument types
+ Parameters after sentinel
+
+
+
+ Clone this
+
+
+
+
+
+
+
+ A local variables signature
+
+
+
+
+ All local types. This is never null.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention (must have LocalSig set)
+ Number of locals
+
+
+
+ Constructor
+
+ Local type #1
+
+
+
+ Constructor
+
+ Local type #1
+ Local type #2
+
+
+
+ Constructor
+
+ Local type #1
+ Local type #2
+ Local type #3
+
+
+
+ Constructor
+
+ All locals
+
+
+
+ Constructor
+
+ All locals
+
+
+
+ Constructor
+
+ All locals (this instance now owns it)
+ Dummy
+
+
+
+ Clone this
+
+
+
+
+ An instantiated generic method signature
+
+
+
+
+ Gets the generic arguments (must be instantiated types, i.e., closed types)
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Calling convention (must have GenericInst set)
+ Number of generic args
+
+
+
+ Constructor
+
+ Generic arg #1
+
+
+
+ Constructor
+
+ Generic arg #1
+ Generic arg #2
+
+
+
+ Constructor
+
+ Generic arg #1
+ Generic arg #2
+ Generic arg #3
+
+
+
+ Constructor
+
+ Generic args
+
+
+
+ Constructor
+
+ Generic args
+
+
+
+ Clone this
+
+
+
+
+ A high-level representation of a row in the ClassLayout table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+ From column ClassLayout.PackingSize
+
+
+
+
+
+
+
+ From column ClassLayout.ClassSize
+
+
+
+
+
+
+
+ A ClassLayout row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ PackingSize
+ ClassSize
+
+
+
+ Created from a row in the ClassLayout table
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ClassLayout row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ A high-level representation of a row in the Constant table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+ From column Constant.Type
+
+
+
+
+
+
+
+ From column Constant.Value
+
+
+
+
+
+
+
+ A Constant row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Value
+
+
+
+ Constructor
+
+ Value
+ Type
+
+
+
+ Created from a row in the Constant table
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Constant row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Default implementation of
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The owner module
+
+
+
+ Constructor
+
+ The owner module
+ Corlib assembly reference or null if a default
+ assembly reference should be created
+
+
+
+
+
+
+ Gets the required alignment for the stubs, must be a power of 2
+
+ Stub type
+
+
+
+
+ Gets the size of a stub, it doesn't have to be a multiple of
+
+ Stub type
+
+
+
+
+ Gets the offset of the code (entry point) relative to the start of the stub
+
+ Stub type
+
+
+
+
+ Gets the RVA of the func field that the stub jumps to
+
+ Reader, positioned at the stub func
+ PE image
+ Updated with RVA of func field
+
+
+
+
+ Writes stub relocs, if needed
+
+ Stub type
+ Reloc directory
+ The chunk where this stub will be written to
+ Offset of this stub in
+
+
+
+ Writes the stub that jumps to the managed function
+
+ Stub type
+ Writer
+ Image base
+ RVA of this stub
+ RVA of a pointer-sized field that contains the absolute address of the managed function
+
+
+
+ A custom attribute
+
+
+
+
+ Gets/sets the custom attribute constructor
+
+
+
+
+ Gets the attribute type
+
+
+
+
+ Gets the full name of the attribute type
+
+
+
+
+ true if the raw custom attribute blob hasn't been parsed
+
+
+
+
+ Gets the raw custom attribute blob or null if the CA was successfully parsed.
+
+
+
+
+ Gets all constructor arguments
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all named arguments (field and property values)
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all s that are field arguments
+
+
+
+
+ Gets all s that are property arguments
+
+
+
+
+ Gets the #Blob offset or 0 if unknown
+
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Raw custom attribute blob
+
+
+
+ Constructor
+
+ Custom attribute constructor
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments or null if none
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Named arguments or null if none
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments or null if none
+ Named arguments or null if none
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments or null if none
+ Named arguments or null if none
+ Original custom attribute #Blob offset or 0
+
+
+
+ Constructor
+
+ Custom attribute constructor
+ Constructor arguments. The list is now owned by this instance.
+ Named arguments. The list is now owned by this instance.
+ Original custom attribute #Blob offset or 0
+
+
+
+ Gets the field named
+
+ Name of field
+ A instance or null if not found
+
+
+
+ Gets the field named
+
+ Name of field
+ A instance or null if not found
+
+
+
+ Gets the property named
+
+ Name of property
+ A instance or null if not found
+
+
+
+ Gets the property named
+
+ Name of property
+ A instance or null if not found
+
+
+
+ Gets the property/field named
+
+ Name of property/field
+ true if it's a field, false if it's a property
+ A instance or null if not found
+
+
+
+ Gets the property/field named
+
+ Name of property/field
+ true if it's a field, false if it's a property
+ A instance or null if not found
+
+
+
+
+
+
+ A custom attribute constructor argument
+
+
+
+
+ Gets/sets the argument type
+
+
+
+
+ Gets/sets the argument value
+
+
+
+
+ Constructor
+
+ Argument type
+
+
+
+ Constructor
+
+ Argument type
+ Argument value
+
+
+
+ Clones this instance and any s and s
+ referenced from this instance.
+
+
+
+
+
+
+
+
+ A custom attribute field/property argument
+
+
+
+
+ true if it's a field
+
+
+
+
+ true if it's a property
+
+
+
+
+ Gets/sets the field/property type
+
+
+
+
+ Gets/sets the property/field name
+
+
+
+
+ Gets/sets the argument
+
+
+
+
+ Gets/sets the argument type
+
+
+
+
+ Gets/sets the argument value
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ true if field, false if property
+
+
+
+ Constructor
+
+ true if field, false if property
+ Field/property type
+
+
+
+ Constructor
+
+ true if field, false if property
+ Field/property type
+ Name of field/property
+
+
+
+ Constructor
+
+ true if field, false if property
+ Field/property type
+ Name of field/property
+ Field/property argument
+
+
+
+ Clones this instance and any s referenced from this instance.
+
+
+
+
+
+
+
+
+ Stores s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Initial length of the list
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ Checks whether a custom attribute is present
+
+ Full name of custom attribute type
+ true if the custom attribute type is present, false otherwise
+
+
+
+ Removes all custom attributes of a certain type
+
+ Full name of custom attribute type that should be removed
+
+
+
+ Finds a custom attribute
+
+ Full name of custom attribute type
+ A or null if it wasn't found
+
+
+
+ Finds all custom attributes of a certain type
+
+ Full name of custom attribute type
+ All s of the requested type
+
+
+
+ Finds a custom attribute
+
+ Custom attribute type
+ The first found or null if none found
+
+
+
+ Finds a custom attribute
+
+ Custom attribute type
+ Attribute type comparison flags
+ The first found or null if none found
+
+
+
+ Finds all custom attributes of a certain type
+
+ Custom attribute type
+ All s of the requested type
+
+
+
+ Finds all custom attributes of a certain type
+
+ Custom attribute type
+ Attribute type comparison flags
+ All s of the requested type
+
+
+
+ Searches for a type according to custom attribute search rules: first try the
+ current assembly, and if that fails, try mscorlib
+
+
+
+
+ Constructor
+
+ The module to search first
+
+
+
+
+
+
+ Thrown by CustomAttributeReader when it fails to parse a custom attribute blob
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ Other exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ Reads custom attributes from the #Blob stream
+
+
+
+
+ Reads a custom attribute
+
+ Reader module
+ Custom attribute constructor
+ Offset of custom attribute in the #Blob stream
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Reader module
+ Custom attribute constructor
+ Offset of custom attribute in the #Blob stream
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ CA blob
+ Custom attribute constructor
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ A reader positioned at the the first byte of the CA blob
+ Custom attribute constructor
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ CA blob
+ Custom attribute constructor
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ A stream positioned at the the first byte of the CA blob
+ Custom attribute constructor
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a custom attribute
+
+ Owner module
+ A stream positioned at the the first byte of the CA blob
+ Custom attribute constructor
+ Generic parameter context
+ A new instance
+
+
+
+ Reads custom attribute named arguments
+
+ Owner module
+ A reader positioned at the the first byte of the CA blob
+ Number of named arguments to read from
+ Generic parameter context
+ A list of s or null if some error
+ occurred.
+
+
+
+ Gets the enum's underlying type
+
+ An enum type
+ The underlying type or null if we couldn't resolve the type ref
+ If is not an enum or null
+
+
+
+ Converts to a , possibly resolving
+ a
+
+ The type
+ A or null if we couldn't resolve the
+ or if is a type spec
+
+
+
+ A high-level representation of a row in the DeclSecurity table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column DeclSecurity.Action
+
+
+
+
+
+
+
+ From column DeclSecurity.PermissionSet
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the blob data or null if there's none
+
+ Blob data or null
+
+
+
+ Returns the .NET 1.x XML string or null if it's not a .NET 1.x format
+
+
+
+
+
+ A DeclSecurity row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The security action
+ The security attributes (now owned by this)
+
+
+
+
+
+
+ Created from a row in the DeclSecurity table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this DeclSecurity row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ Reads DeclSecurity blobs
+
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ #Blob offset of DeclSecurity signature
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ #Blob offset of DeclSecurity signature
+ Generic parameter context
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity blob
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity blob
+ Generic parameter context///
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity stream that will be owned by us
+ A list of s
+
+
+
+ Reads a DeclSecurity blob
+
+ Module that will own the returned list
+ DeclSecurity stream that will be owned by us
+ Generic parameter context
+ A list of s
+
+
+
+ Reads the new (.NET 2.0+) DeclSecurity blob format
+
+
+
+
+
+ Reads the old (.NET 1.x) DeclSecurity blob format
+
+
+
+
+
+ See CorHdr.h/CorElementType
+
+
+
+
+
+
+ System.Void
+
+
+ System.Boolean
+
+
+ System.Char
+
+
+ System.SByte
+
+
+ System.Byte
+
+
+ System.Int16
+
+
+ System.UInt16
+
+
+ System.Int32
+
+
+ System.UInt32
+
+
+ System.Int64
+
+
+ System.UInt64
+
+
+ System.Single
+
+
+ System.Double
+
+
+ System.String
+
+
+ Pointer type (*)
+
+
+ ByRef type (&)
+
+
+ Value type
+
+
+ Reference type
+
+
+ Type generic parameter
+
+
+ Multidimensional array ([*], [,], [,,], ...)
+
+
+ Generic instance type
+
+
+ Typed byref
+
+
+ Value array (don't use)
+
+
+ System.IntPtr
+
+
+ System.UIntPtr
+
+
+ native real (don't use)
+
+
+ Function pointer
+
+
+ System.Object
+
+
+ Single-dimension, zero lower bound array ([])
+
+
+ Method generic parameter
+
+
+ Required C modifier
+
+
+ Optional C modifier
+
+
+ Used internally by the CLR (don't use)
+
+
+ Module (don't use)
+
+
+ Sentinel (method sigs only)
+
+
+ Pinned type (locals only)
+
+
+
+ A CIL opcode. If the high byte is 0 or if it's , it's a 1-byte opcode,
+ else it's a two-byte opcode and the highest byte is the first byte of the opcode.
+
+
+
+
+ Extension methods
+
+
+
+
+ Converts a to an
+
+ The code
+ A or null if it's invalid
+
+
+
+ Gets the opcode or if is null
+
+ this
+
+
+
+
+ Gets the operand or null if is null
+
+ this
+
+
+
+
+ Gets the offset or 0 if is null
+
+ this
+
+
+
+
+ Gets the sequence point or null if is null
+
+ this
+
+
+
+
+ Resolves a token
+
+ An object
+ The metadata token
+ A or null if is invalid
+
+
+
+ options
+
+
+
+
+ No option is enabled
+
+
+
+
+ Some fields/methods have an unknown declaring type and don't have a context with
+ that information. If this is enabled, the reader will try to guess it but it doesn't
+ always work. If you get an , try enabling this option.
+
+
+
+
+ Reads code from a DynamicMethod
+
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+ Generic parameter context
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+ Importer
+
+
+
+ Constructor
+
+ Module that will own the method body
+ This can be one of several supported types: the delegate instance
+ created by DynamicMethod.CreateDelegate(), a DynamicMethod instance, a RTDynamicMethod
+ instance or a DynamicResolver instance.
+ Importer
+ Options
+
+
+
+ Reads the code
+
+
+
+
+
+ Returns the created method. Must be called after .
+
+ A new instance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A CIL method exception handler
+
+
+
+
+ First instruction of try block
+
+
+
+
+ One instruction past the end of try block or null if it ends at the end
+ of the method.
+
+
+
+
+ Start of filter handler or null if none. The end of filter handler is
+ always .
+
+
+
+
+ First instruction of try handler block
+
+
+
+
+ One instruction past the end of try handler block or null if it ends at the end
+ of the method.
+
+
+
+
+ The catch type if is
+
+
+
+
+ Type of exception handler clause
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception clause type
+
+
+
+ Type of exception handler. See CorHdr.h/CorExceptionFlag
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CIL opcode flow control
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A CIL instruction (opcode + operand)
+
+
+
+
+ The opcode
+
+
+
+
+ The opcode operand
+
+
+
+
+ Offset of the instruction in the method body
+
+
+
+
+ PDB sequence point or null if none
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Opcode
+
+
+
+ Constructor
+
+ Opcode
+ The operand
+
+
+
+ Creates a new instruction with no operand
+
+ The opcode
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with an operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The opcode
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a string operand
+
+ The opcode
+ The string
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target operand
+
+ The opcode
+ Target instruction
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target list operand
+
+ The opcode
+ The targets
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The opcode
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The opcode
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a method/field operand
+
+ The opcode
+ The method/field
+ A new instance
+
+
+
+ Creates a new instruction with a field operand
+
+ The opcode
+ The field
+ A new instance
+
+
+
+ Creates a new instruction with a method operand
+
+ The opcode
+ The method
+ A new instance
+
+
+
+ Creates a new instruction with a token operand
+
+ The opcode
+ The token
+ A new instance
+
+
+
+ Creates a new instruction with a method signature operand
+
+ The opcode
+ The method signature
+ A new instance
+
+
+
+ Creates a new instruction with a method parameter operand
+
+ The opcode
+ The method parameter
+ A new instance
+
+
+
+ Creates a new instruction with a method local operand
+
+ The opcode
+ The method local
+ A new instance
+
+
+
+ Creates a ldci4 instruction
+
+ Operand value
+ A new instance
+
+
+
+ Gets the size in bytes of the instruction
+
+
+
+
+
+ Updates with the new stack size
+
+ Current stack size
+
+
+
+ Updates with the new stack size
+
+ Current stack size
+ true if the method has a return value,
+ false otherwise
+
+
+
+ Calculates stack usage
+
+ Updated with number of stack pushes
+ Updated with number of stack pops or -1 if the stack should
+ be cleared.
+
+
+
+ Calculates stack usage
+
+ true if method has a return value
+ Updated with number of stack pushes
+ Updated with number of stack pops or -1 if the stack should
+ be cleared.
+
+
+
+ Checks whether it's one of the leave instructions
+
+
+
+
+ Checks whether it's one of the br instructions
+
+
+
+
+ Checks whether it's one of the brfalse instructions
+
+
+
+
+ Checks whether it's one of the brtrue instructions
+
+
+
+
+ Checks whether it's one of the conditional branch instructions (bcc, brtrue, brfalse)
+
+
+
+
+ Checks whether this is one of the ldc.i4 instructions
+
+
+
+
+ Returns a ldc.i4 instruction's operand
+
+ The integer value
+ isn't one of the
+ ldc.i4 opcodes
+
+
+
+ Checks whether it's one of the ldarg instructions, but does not check
+ whether it's one of the ldarga instructions.
+
+
+
+
+ Checks whether it's one of the ldloc instructions, but does not check
+ whether it's one of the ldloca instructions.
+
+
+
+
+ Checks whether it's one of the starg instructions
+
+
+
+
+ Checks whether it's one of the stloc instructions
+
+
+
+
+ Returns the local if it's a ldloc, stloc or ldloca instruction
+
+ The locals
+ The local or null if it's not a ldloc, stloc or ldloca
+ instruction or if the local doesn't exist.
+
+
+
+ Gets the index of the instruction's parameter operand or -1 if the parameter
+ is missing or if it's not an instruction with a parameter operand.
+
+
+
+
+ Returns a method parameter
+
+ All parameters
+ A parameter or null if it doesn't exist
+
+
+
+ Returns an argument type
+
+ Method signature
+ Declaring type (only needed if it's an instance method)
+ The type or null if it doesn't exist
+
+
+
+ Clone this instance. The and fields
+ are shared by this instance and the created instance.
+
+
+
+
+
+
+
+ Converts instructions to strings
+
+
+
+
+ Converts an instruction to a string
+
+ The instruction
+ The result
+
+
+
+ Gets the instruction's operand as a string
+
+ The instruction
+ The operand as a string
+
+
+
+ Add an instruction's operand to
+
+ Place result here
+ The instruction
+
+
+
+ Add an instruction's operand to
+
+ Place result here
+ The instruction
+ A string that will be added before the operand, if there's
+ an operand.
+
+
+
+ Thrown when invalid data is detected while parsing a .NET method
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ The inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ A collection of s
+
+
+
+
+ Gets the number of locals
+
+
+
+
+ Gets the list of locals
+
+
+
+
+ Gets the N'th local
+
+ The local index
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ All locals that will be owned by this instance
+
+
+
+ Adds a new local and then returns it
+
+ The local that should be added to the list
+ The input is always returned
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A method local
+
+
+
+
+ Gets/sets the type of the local
+
+
+
+
+ Local index
+
+
+
+
+ Gets the name. This property is obsolete, use to get/set the name stored in the PDB file.
+
+
+
+
+ Gets the attributes. This property is obsolete, use to get/set the attributes stored in the PDB file.
+
+
+
+
+ Constructor
+
+ The type
+
+
+
+ Constructor
+
+ The type
+ Name of local
+
+
+
+ Constructor
+
+ The type
+ Name of local
+ Index, should only be used if you don't add it to the locals list
+
+
+
+
+
+
+ Method body base class
+
+
+
+
+ A native method body
+
+
+
+
+ Gets/sets the RVA of the native method body
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ RVA of method body
+
+
+
+ CIL (managed code) body
+
+
+
+
+ Size of a small header
+
+
+
+
+ Gets/sets a flag indicating whether the original max stack value should be used.
+
+
+
+
+ Gets/sets the init locals flag. This is only valid if the method has any locals.
+
+
+
+
+ Gets/sets the size in bytes of the method body header. The instructions immediately follow
+ the header.
+
+
+
+
+ true if it was a small body header ( is 1)
+
+
+
+
+ true if it was a big body header
+
+
+
+
+ Gets/sets max stack value from the fat method header.
+
+
+
+
+ Gets/sets the locals metadata token
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the instructions
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the exception handlers
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets the locals
+
+
+
+
+ Gets/sets the PDB method. This is null if no PDB has been loaded or if there's
+ no PDB info for this method.
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the total size of the body in the PE file, including header, IL bytes, and exception handlers.
+ This property returns 0 if the size is unknown.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Init locals flag
+ All instructions. This instance will own the list.
+ All exception handlers. This instance will own the list.
+ All locals. This instance will own the locals in the list.
+
+
+
+ Shorter instructions are converted to the longer form, eg. Ldc_I4_1 is
+ converted to Ldc_I4 with a 1 as the operand.
+
+ All method parameters, including the hidden 'this' parameter
+ if it's an instance method. Use .
+
+
+
+ Optimizes instructions by using the shorter form if possible. Eg. Ldc_I4 1
+ will be replaced with Ldc_I4_1.
+
+
+
+
+ Short branch instructions are converted to the long form, eg. Beq_S is
+ converted to Beq.
+
+
+
+
+ Optimizes branches by using the smallest possible branch
+
+
+
+
+ Updates each instruction's offset
+
+ Total size in bytes of all instructions
+
+
+
+ Reads strings from #US heap
+
+
+
+
+ Reads a string from the #US heap
+
+ String token
+ A string
+
+
+
+ Resolves instruction operands
+
+
+
+
+ Reads a .NET method body (header, locals, instructions, exception handlers)
+
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+
+
+
+ Creates a CIL method body or returns an empty one if doesn't
+ point to the start of a valid CIL method body.
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+ Generic parameter context
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+ Method header flags, eg. 2 if tiny method
+ Max stack
+ Code size
+ Local variable signature token or 0 if none
+
+
+
+ Creates a CIL method body or returns an empty one if is not
+ a valid CIL method body.
+
+ The operand resolver
+ All code
+ Exceptions or null if all exception handlers are in
+
+ Method parameters
+ Method header flags, eg. 2 if tiny method
+ Max stack
+ Code size
+ Local variable signature token or 0 if none
+ Generic parameter context
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Use parameters from this method
+ Generic parameter context
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Method parameters
+ Generic parameter context
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+
+
+
+ Constructor
+
+ The operand resolver
+ A reader positioned at the start of a .NET method body
+ Exception handler reader or null if exceptions aren't
+ present or if contains the exception handlers
+ Method parameters
+ Generic parameter context
+
+
+
+ Initializes the method header
+
+ Header flags, eg. 2 if it's a tiny method
+ Max stack
+ Code size
+ Local variable signature token
+
+
+
+ Reads the method body header, locals, all instructions, and the exception handlers (if any)
+
+ true if it worked, and false if something failed
+
+
+
+ Reads the method header
+
+
+
+
+ Reads the locals
+
+ All locals or null if there are none
+
+
+
+ Reads all instructions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reads all exception handlers
+
+
+
+
+ Creates a CIL body. Must be called after , and can only be
+ called once.
+
+ A new instance
+
+
+
+ Method body reader base class
+
+
+
+ The method reader
+
+
+ All parameters
+
+
+ All locals
+
+
+ All instructions
+
+
+ All exception handlers
+
+
+ First byte after the end of the code
+
+
+ Start offset of method
+
+
+
+ Gets all parameters
+
+
+
+
+ Gets all locals
+
+
+
+
+ Gets all instructions
+
+
+
+
+ Gets all exception handlers
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ The reader
+
+
+
+ Constructor
+
+ The reader
+ Method parameters or null if they're not known yet
+
+
+
+ Sets new locals
+
+ A list of types of all locals or null if none
+
+
+
+ Sets new locals
+
+ A list of types of all locals or null if none
+
+
+
+ Reads all instructions
+
+ Number of instructions to read
+
+
+
+ Reads all instructions
+
+ Size of code
+
+
+
+ Fixes all branch instructions so their operands are set to an
+ instead of an offset.
+
+
+
+
+ Finds an instruction
+
+ Offset of instruction
+ The instruction or null if there's no instruction at .
+
+
+
+ Finds an instruction and throws if it's not present
+
+ Offset of instruction
+ The instruction
+ There's no instruction at
+
+
+
+
+ Reads the next instruction
+
+
+
+
+ Reads the next OpCode from the current position
+
+
+
+
+ Reads the instruction operand (if any)
+
+ The instruction
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a parameter) operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a local) operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a parameter) operand
+
+ The current instruction
+ The operand
+
+
+
+ Reads a (a local) operand
+
+ The current instruction
+ The operand
+
+
+
+ Returns true if it's one of the ldarg/starg instructions that have an operand
+
+ The instruction to check
+
+
+
+ Returns a parameter
+
+ A parameter index
+ A or null if is invalid
+
+
+
+ Returns a local
+
+ A local index
+ A or null if is invalid
+
+
+
+ Add an exception handler if it appears valid
+
+ The exception handler
+ true if it was added, false otherwise
+
+
+
+ Gets the offset of an instruction
+
+ The instruction or null if the offset is the first offset
+ at the end of the method.
+ The instruction offset
+
+
+
+ Restores a 's body with the parsed method instructions
+ and exception handlers
+
+ The method that gets updated with the instructions, locals, and
+ exception handlers.
+
+
+
+ Converts a type address to a . The address can be found in
+ RuntimeTypeHandle.Value and it's the same address you use with the WinDbg SOS command
+ !dumpmt.
+
+
+
+
+ Converts to a .
+
+ Address of type
+ The or null
+
+
+
+ Instruction utility methods
+
+
+
+
+ Shorter instructions are converted to the longer form, eg. Ldc_I4_1 is
+ converted to Ldc_I4 with a 1 as the operand.
+
+ All instructions
+ All locals
+ All method parameters, including the hidden 'this' parameter
+ if it's an instance method. Use .
+
+
+
+ Optimizes instructions by using the shorter form if possible. Eg. Ldc_I4 1
+ will be replaced with Ldc_I4_1.
+
+ All instructions
+
+
+
+ Short branch instructions are converted to the long form, eg. Beq_S is
+ converted to Beq.
+
+ All instructions
+
+
+
+ Optimizes branches by using the smallest possible branch
+
+ All instructions
+
+
+
+ Updates each instruction's offset
+
+ All instructions
+ Total size in bytes of all instructions
+
+
+
+ A CIL opcode
+
+
+
+
+ The opcode name
+
+
+
+
+ The opcode as a enum
+
+
+
+
+ Operand type
+
+
+
+
+ Flow control info
+
+
+
+
+ Opcode type
+
+
+
+
+ Push stack behavior
+
+
+
+
+ Pop stack behavior
+
+
+
+
+ Gets the value which is compatible with
+
+
+
+
+ Gets the size of the opcode. It's either 1 or 2 bytes.
+
+
+
+
+ Creates a new instruction with no operand
+
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with an operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a operand
+
+ The value
+ A new instance
+
+
+
+ Creates a new instruction with a string operand
+
+ The string
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target operand
+
+ Target instruction
+ A new instance
+
+
+
+ Creates a new instruction with an instruction target list operand
+
+ The targets
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a type operand
+
+ The type
+ A new instance
+
+
+
+ Creates a new instruction with a method/field operand
+
+ The method/field
+ A new instance
+
+
+
+ Creates a new instruction with a field operand
+
+ The field
+ A new instance
+
+
+
+ Creates a new instruction with a method operand
+
+ The method
+ A new instance
+
+
+
+ Creates a new instruction with a token operand
+
+ The token
+ A new instance
+
+
+
+ Creates a new instruction with a method signature operand
+
+ The method signature
+ A new instance
+
+
+
+ Creates a new instruction with a method parameter operand
+
+ The method parameter
+ A new instance
+
+
+
+ Creates a new instruction with a method local operand
+
+ The method local
+ A new instance
+
+
+
+
+
+
+ Contains all valid CIL opcodes
+
+
+
+
+ All one-byte opcodes
+
+
+
+
+ All two-byte opcodes (first byte is 0xFE)
+
+
+
+
+ CIL opcode type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CIL opcode operand type
+
+
+
+ 4-byte relative instruction offset
+
+
+ 4-byte field token ( or )
+
+
+ int32
+
+
+ int64
+
+
+ 4-byte method token (,
+ or )
+
+
+ No operand
+
+
+ Never used
+
+
+ 64-bit real
+
+
+
+
+
+ 4-byte method sig token ()
+
+
+ 4-byte string token (0x70xxxxxx)
+
+
+ 4-byte count N followed by N 4-byte relative instruction offsets
+
+
+ 4-byte token (, ,
+ , , ,
+ or )
+
+
+ 4-byte type token (, or
+ )
+
+
+ 2-byte param/local index
+
+
+ 1-byte relative instruction offset
+
+
+ 1-byte sbyte () or byte (the rest)
+
+
+ 32-bit real
+
+
+ 1-byte param/local index
+
+
+
+ CIL opcode stack behavior
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Event attributes, see CorHdr.h/CorEventAttr
+
+
+
+ event is special. Name describes how.
+
+
+ Runtime(metadata internal APIs) should check name encoding.
+
+
+
+ A high-level representation of a row in the Event table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Event.EventFlags
+
+
+
+
+
+
+
+ From column Event.Name
+
+
+
+ Name
+
+
+
+ From column Event.EventType
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the adder method
+
+
+
+
+ Gets/sets the invoker method
+
+
+
+
+ Gets/sets the remover method
+
+
+
+
+ Gets the other methods
+
+
+
+
+ Initializes , ,
+ and .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reset , , ,
+
+
+
+ true if there are no methods attached to this event
+
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+
+ Gets the full name of the event
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+ An Event row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Type
+
+
+
+ Constructor
+
+ Name
+ Type
+ Flags
+
+
+
+ Created from a row in the Event table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Event row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ A high-level representation of a row in the ExportedType table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always returns false since a does not contain any
+ or .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column ExportedType.Flags
+
+
+
+ Attributes
+
+
+
+ From column ExportedType.TypeDefId
+
+
+
+
+
+
+
+ From column ExportedType.TypeName
+
+
+
+
+
+
+
+ From column ExportedType.TypeNamespace
+
+
+
+
+
+
+
+ From column ExportedType.Implementation
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ true if it's nested within another
+
+
+
+
+ Gets the declaring type, if any
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the layout
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the string format
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit. See also
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if this type has been moved to another assembly
+
+
+
+
+ Resolves the type
+
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ Source module or null
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Converts this instance to a
+
+ A new instance
+
+
+
+
+
+
+ An ExportedType row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Constructor
+
+ Owner module
+ TypeDef ID
+ Type name
+ Type namespace
+ Flags
+ Implementation
+
+
+
+ Created from a row in the ExportedType table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ExportedType row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Field flags, see CorHdr.h/CorFieldAttr
+
+
+
+ member access mask - Use this mask to retrieve accessibility information.
+
+
+ Member not referenceable.
+
+
+ Member not referenceable.
+
+
+ Accessible only by the parent type.
+
+
+ Accessible by sub-types only in this Assembly.
+
+
+ Accessibly by anyone in the Assembly.
+
+
+ Accessible only by type and sub-types.
+
+
+ Accessibly by sub-types anywhere, plus anyone in assembly.
+
+
+ Accessibly by anyone who has visibility to this scope.
+
+
+ Defined on type, else per instance.
+
+
+ Field may only be initialized, not written to after init.
+
+
+ Value is compile time constant.
+
+
+ Field does not have to be serialized when type is remoted.
+
+
+ field is special. Name describes how.
+
+
+ Implementation is forwarded through pinvoke.
+
+
+ Runtime(metadata internal APIs) should check name encoding.
+
+
+ Field has marshalling information.
+
+
+ Field has default.
+
+
+ Field has RVA.
+
+
+
+ A high-level representation of a row in the Field table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ From column Field.Flags
+
+
+
+ Attributes
+
+
+
+ From column Field.Name
+
+
+
+ Name
+
+
+
+ From column Field.Signature
+
+
+
+
+
+
+
+ Gets/sets the field layout offset
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets/sets the field RVA
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets/sets the initial value. Be sure to set to true if
+ you write to this field.
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+
+
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+ Gets/sets the
+
+
+
+
+
+
+
+ true if is not null
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the constant element type or if there's no constant
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets/sets the field type
+
+
+
+
+ Modify field: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the field access
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Returns the full name of this field
+
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+ Updated with size
+ true if is valid, false otherwise
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+ The declaring type of this
+ The field signature of this
+ Updated with size
+ true if is valid, false otherwise
+
+
+
+ Gets the size of this field in bytes or 0 if unknown.
+
+ The declaring type of this
+ The field signature of this
+ Size of a pointer
+ Updated with size
+ true if is valid, false otherwise
+
+
+
+
+
+
+ A Field row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Signature
+
+
+
+ Constructor
+
+ Name
+ Signature
+ Flags
+
+
+
+ Created from a row in the Field table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Field row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ File row flags. See CorHdr.h/CorFileFlags
+
+
+
+ This is not a resource file
+
+
+ This is a resource file or other non-metadata-containing file
+
+
+
+ A high-level representation of a row in the File table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column File.Flags
+
+
+
+ Attributes
+
+
+
+ From column File.Name
+
+
+
+ Name
+
+
+
+ From column File.HashValue
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+
+
+
+ A File row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name of file
+ Flags
+ File hash
+
+
+
+ Created from a row in the File table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this File row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Redirects .NET framework assembly references from older to newer versions
+
+
+
+
+ Redirects a .NET Framework assembly from an older version to the correct version
+ loaded at runtime.
+
+ Current assembly reference that might get updated
+ Module using the assembly reference
+
+
+
+ Tries to redirect a .NET Framework assembly from an older version to the correct version
+ loaded at runtime.
+
+ Assembly reference
+ Module using the assembly reference
+ Updated with the redirected assembly if successful
+
+
+
+
+ Redirects a .NET Framework 2.0-3.5 assembly from an older version to the correct version
+ loaded at runtime.
+
+ Current assembly reference that might get updated
+
+
+
+ Redirects a .NET Framework 4.0+ assembly from an older version to the correct version
+ loaded at runtime.
+
+ Current assembly reference that might get updated
+
+
+
+ Tries to redirect a .NET Framework 2.0-3.5 assembly from an older version to the correct version
+ loaded at runtime.
+
+ Assembly reference
+ Updated with the redirected assembly if successful
+
+
+
+
+ Tries to redirect a .NET Framework 4.0+ assembly from an older version to the correct version
+ loaded at runtime.
+
+ Assembly reference
+ Updated with the redirected assembly if successful
+
+
+
+
+ Helps create a name
+
+
+
+
+ Checks whether the assembly name should be included when printing
+ the full type name. The assembly name isn't required in custom attributes
+ when the type already exists in the same module as the CA, or if the type
+ exists in mscorlib.
+
+ The type (TypeDef, TypeRef or ExportedType)
+ or null
+ true if the assembly name must be included, false otherwise
+
+
+
+ Creates type names, method names, etc.
+
+
+
+
+ Checks whether the assembly name should be included when printing the full name.
+ See for more info.
+
+ Owner module
+ The type (TypeDef, TypeRef or ExportedType)
+ or null
+ true if the assembly name must be included, false otherwise
+
+
+
+ Checks whether the assembly name should be included when printing the full name.
+ See for more info.
+
+ Owner module
+ The type (TypeDef, TypeRef or ExportedType)
+ or null
+ If false, don't add an assembly name if it's a type in ,
+ if true, don't add an assembly name if it's a type in or the corlib.
+ true if the assembly name must be included, false otherwise
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The IType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The IType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Property signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Property signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Event type
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a property
+
+ Declaring type full name or null if none
+ Name of property
+ Event type
+ Type generic arguments or null if none
+ String builder to use or null
+ Property full name
+
+
+
+ Returns the full name of a field
+
+ Declaring type full name or null if none
+ Name of field
+ Field signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Field full name
+
+
+
+ Returns the full name of a field
+
+ Declaring type full name or null if none
+ Name of field
+ Field signature
+ Type generic arguments or null if none
+ String builder to use or null
+ Field full name
+
+
+
+ Returns the full name of a method
+
+ Declaring type full name or null if none
+ Name of method or null if none
+ Method signature
+ Type generic arguments or null if none
+ Method generic arguments or null if none
+ Generic parameter owner method or null
+ String builder to use or null
+ Method full name
+
+
+
+ Returns the full name of a method
+
+ Declaring type full name or null if none
+ Name of method or null if none
+ Method signature
+ Type generic arguments or null if none
+ Method generic arguments or null if none
+ Generic parameter owner method or null
+ String builder to use or null
+ Method full name
+
+
+
+ Returns the full name of a property sig
+
+ Property sig
+ String builder to use or null
+ Property sig full name
+
+
+
+ Returns the full name of a property sig
+
+ Property sig
+ String builder to use or null
+ Property sig full name
+
+
+
+ Returns the full name of a sig
+
+ Declaring type or null
+ Name or null
+ Method sig
+ Owner method or null
+ String builder to use or null
+ Sig full name
+
+
+
+ Returns the full name of a sig
+
+ Declaring type or null
+ Name or null
+ Method sig
+ Owner method or null
+ String builder to use or null
+ Sig full name
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeRef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeRef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeRef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeRef
+ A or null if none found
+
+
+
+ Gets the scope
+
+ The TypeRef
+ The or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeRef
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeDef
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeDef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeDef
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeDef
+ A or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeDef
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The TypeSpec
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSpec
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSpec
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeSpec
+ A or null if none found
+
+
+
+ Gets the scope type
+
+ The TypeSpec
+ The scope type or null if none found
+
+
+
+ Gets the scope
+
+ The TypeSpec
+ The or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeSpec
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ Helps print the name
+ Type generic args or null if none
+ Method generic args or null if none
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The type sig
+ Set if output should be compatible with reflection
+ Helps print the name
+ Type generic args or null if none
+ Method generic args or null if none
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSig
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The TypeSig
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The TypeSig
+ A or null if none found
+
+
+
+ Gets the scope
+
+ The TypeSig
+ The or null if none found
+
+
+
+ Gets the scope type
+
+ The TypeSig
+ The scope type or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The TypeSig
+ A or null if none found
+
+
+
+ Returns the namespace of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the namespace of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The namespace
+
+
+
+ Returns the name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ String builder to use or null
+ The name
+
+
+
+ Returns the full name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the full name of a
+
+ The ExportedType
+ Set if output should be compatible with reflection
+ Helps print the name
+ String builder to use or null
+ The full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The ExportedType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly qualified full name of a
+
+ The ExportedType
+ Helps print the name
+ String builder to use or null
+ The assembly qualified full name
+
+
+
+ Returns the assembly where this type is defined
+
+ The ExportedType
+ A or null if none found
+
+
+
+ Gets the scope type
+
+ The ExportedType
+ The scope type or null if none found
+
+
+
+ Gets the scope
+
+ The ExportedType
+ The or null if none found
+
+
+
+ Returns the owner module. The type was created from metadata in this module.
+
+ The ExportedType
+ A or null if none found
+
+
+
+
+
+
+ Constructor
+
+ true if it's for generic types, false if generic methods
+
+
+
+ Pushes generic arguments
+
+ The generic arguments
+
+
+
+ Pops generic arguments
+
+ The popped generic arguments
+
+
+
+ Resolves a generic argument
+
+ Generic variable number
+ A or null if none was found
+
+
+
+ Replaces generic type/method var with its generic argument
+
+
+
+
+ Pushes generic arguments
+
+ The generic arguments
+
+
+
+ Pops generic arguments
+
+ The popped generic arguments
+
+
+
+ Pushes generic arguments
+
+ The generic arguments
+
+
+
+ Pops generic arguments
+
+ The popped generic arguments
+
+
+
+ Replaces a generic type/method var with its generic argument (if any). If
+ isn't a generic type/method var or if it can't
+ be resolved, it itself is returned. Else the resolved type is returned.
+
+ Type signature
+ New which is never null unless
+ is null
+
+
+
+ A high-level representation of a row in the GenericParam table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the owner type/method
+
+
+
+
+
+
+
+ Gets the declaring type or null if none or if is
+ not a
+
+
+
+
+
+
+
+ Gets the declaring method or null if none or if is
+ not a
+
+
+
+
+ From column GenericParam.Number
+
+
+
+
+
+
+
+ From column GenericParam.Flags
+
+
+
+ Attributes
+
+
+
+ From column GenericParam.Name
+
+
+
+ Name
+
+
+
+ From column GenericParam.Kind (v1.1 only)
+
+
+
+
+
+
+
+ Gets the generic param constraints
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if is not empty
+
+
+
+
+
+
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets variance (non, contra, co)
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the special constraint
+
+
+
+
+ true if there are no special constraints
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A GenericParam row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The generic param number
+
+
+
+ Constructor
+
+ The generic param number
+ Flags
+
+
+
+ Constructor
+
+ The generic param number
+ Flags
+ Name
+
+
+
+ Created from a row in the GenericParam table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this GenericParam row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ Generic parameter flags. See CorHdr.h/CorGenericParamAttr
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ type argument must be a reference type
+
+
+ type argument must be a value type but not Nullable
+
+
+ type argument must have a public default constructor
+
+
+
+ A high-level representation of a row in the GenericParamConstraint table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the owner generic param
+
+
+
+
+
+
+
+ From column GenericParamConstraint.Constraint
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ A GenericParamConstraintAssembly row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The constraint
+
+
+
+ Created from a row in the GenericParamConstraint table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this GenericParamConstraint row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Generic parameter context
+
+
+
+
+ Type context
+
+
+
+
+ Method context
+
+
+
+
+ true if and are both null
+
+
+
+
+ Creates a new instance and initializes the
+ field to 's
+ and the field to .
+
+ Method
+ A new instance
+
+
+
+ Creates a new instance and initializes the
+ field to and the field
+ to null
+
+ Type
+ A new instance
+
+
+
+ Constructor
+
+ Type context
+
+
+
+ Constructor. The field is set to null and NOT to
+ 's . Use
+ if you want that behavior.
+
+ Method context
+
+
+
+ Constructor
+
+ Type context
+ Method context
+
+
+
+ Resolves assemblies
+
+
+
+
+ Finds and returns an
+
+ The assembly to find
+ The module that needs to resolve an assembly or null
+ An instance owned by the assembly resolver or
+ null if the assembly couldn't be found.
+
+
+
+ The table row can be referenced by a MD token
+
+
+
+
+ Returns the metadata token
+
+
+
+
+ Gets/sets the row ID
+
+
+
+
+ All *MD classes implement this interface.
+
+
+
+
+ Gets the original row ID
+
+
+
+
+ An assembly. Implemented by , and
+ .
+
+
+
+
+ The assembly version
+
+
+
+
+ Assembly flags
+
+
+
+
+ Public key or public key token
+
+
+
+
+ Locale, aka culture
+
+
+
+
+ Gets the full name of the assembly but use a public key token
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ Gets/sets the processor architecture
+
+
+
+
+ true if unspecified processor architecture
+
+
+
+
+ true if neutral (PE32) architecture
+
+
+
+
+ true if x86 (PE32) architecture
+
+
+
+
+ true if IA-64 (PE32+) architecture
+
+
+
+
+ true if x64 (PE32+) architecture
+
+
+
+
+ true if ARM (PE32) architecture
+
+
+
+
+ true if eg. reference assembly (not runnable)
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the content type
+
+
+
+
+ true if content type is Default
+
+
+
+
+ true if content type is WindowsRuntime
+
+
+
+
+ Implemented by and , which are the only
+ valid managed entry point tokens.
+
+
+
+
+ Interface to access a module def/ref
+
+
+
+
+ Type of scope
+
+
+
+
+ It's an instance
+
+
+
+
+ It's a instance
+
+
+
+
+ It's a instance
+
+
+
+
+ Implemented by modules and assemblies
+
+
+
+
+ Gets the scope type
+
+
+
+
+ Gets the scope name
+
+
+
+
+ Interface to get the full name of a type, field, or method
+
+
+
+
+ Gets the full name
+
+
+
+
+ Simple name of implementer
+
+
+
+
+ Implemented by all member refs and types
+
+
+
+
+ Gets the owner module
+
+
+
+
+ Methods to check whether the implementer is a type or a method.
+
+
+
+
+ true if it's a type
+
+
+
+
+ true if it's a method
+
+
+
+
+ Implemented by types, fields, methods, properties, events
+
+
+
+
+ Gets the declaring type
+
+
+
+
+ true if it's a or a that's
+ referencing a field.
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ All member definitions implement this interface: ,
+ , , ,
+ , and .
+
+
+
+
+ Gets the declaring type
+
+
+
+
+ Implemented by the following classes: ,
+ , , ,
+ , , ,
+ and
+
+
+
+
+ Implemented by types and methods
+
+
+
+
+ Gets the number of generic parameters / arguments
+
+
+
+
+ Implemented by fields ( and )
+
+
+
+
+ Gets/sets the field signature
+
+
+
+
+ Implemented by methods (, and )
+
+
+
+
+ Method signature
+
+
+
+
+ Implemented by tables that can be a token in the ldtoken instruction
+
+
+
+
+ The table row can be referenced by a coded token
+
+
+
+
+ TypeDefOrRef coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ HasConstant coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets/sets the constant value
+
+
+
+
+ HasCustomAttribute coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+ true if is not empty
+
+
+
+
+ HasFieldMarshal coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets/sets the marshal type
+
+
+
+
+ true if is not null
+
+
+
+
+ HasDeclSecurity coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets the permission sets
+
+
+
+
+ true if is not empty
+
+
+
+
+ MemberRefParent coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ HasSemantic coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ MethodDefOrRef coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ MemberForwarded coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets/sets the impl map
+
+
+
+
+ true if is not null
+
+
+
+
+ Implementation coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ CustomAttributeType coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ ResolutionScope coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ TypeOrMethodDef coded token interface
+
+
+
+
+ The coded token tag
+
+
+
+
+ Gets the generic parameters
+
+
+
+
+ true if is not empty
+
+
+
+
+ HasCustomDebugInformation interface
+
+
+
+
+ The custom debug information tag
+
+
+
+
+ Gets the custom debug infos
+
+
+
+
+ true if is not empty
+
+
+
+
+ Access to .NET core library's simple types
+
+
+
+
+ Gets a System.Void
+
+
+
+
+ Gets a System.Boolean
+
+
+
+
+ Gets a System.Char
+
+
+
+
+ Gets a System.SByte
+
+
+
+
+ Gets a System.Byte
+
+
+
+
+ Gets a System.Int16
+
+
+
+
+ Gets a System.UInt16
+
+
+
+
+ Gets a System.Int32
+
+
+
+
+ Gets a System.UInt32
+
+
+
+
+ Gets a System.Int64
+
+
+
+
+ Gets a System.UInt64
+
+
+
+
+ Gets a System.Single
+
+
+
+
+ Gets a System.Double
+
+
+
+
+ Gets a System.String
+
+
+
+
+ Gets a System.TypedReference
+
+
+
+
+ Gets a System.IntPtr
+
+
+
+
+ Gets a System.UIntPtr
+
+
+
+
+ Gets a System.Object
+
+
+
+
+ Gets the assembly reference to the core library
+
+
+
+
+ Gets a that references a type in the core library assembly
+
+ Namespace of type (eg. "System")
+ Name of type
+ A instance. This instance may be a cached instance.
+
+
+
+ Custom attribute interface. Implemented by and
+
+
+
+
+
+ Gets the attribute type
+
+
+
+
+ Gets the full name of the attribute type
+
+
+
+
+ Gets all named arguments (field and property values)
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all s that are field arguments
+
+
+
+
+ Gets all s that are property arguments
+
+
+
+
+ Interface to decrypt methods
+
+
+
+
+ Gets the method's body
+
+ Method rid
+ The found in the method's Method row
+ The method's parameters
+ Generic parameter context
+ Updated with the method's if this
+ method returns true
+ true if the method body was decrypted, false if the method isn't
+ encrypted and the default body reader code should be used.
+
+
+
+ Interface to decrypt strings
+
+
+
+
+ Reads a string
+
+ String token
+ A string or null if we should read it from the #US heap
+
+
+
+ events
+
+
+
+
+ An error was detected. An exception should normally be thrown but the error
+ can be ignored.
+
+
+
+
+ Just a warning and can be ignored.
+
+
+
+
+ A normal message
+
+
+
+
+ A verbose message
+
+
+
+
+ A very verbose message
+
+
+
+
+ Simple logger
+
+
+
+
+ Log something
+
+ Caller or null
+ Logger event
+ Format
+ Arguments
+
+
+
+ true if this event is ignored. If the event is ignored, the caller can
+ choose not to call . This is useful if it can take time to
+ prepare the message.
+
+ The logger event
+
+
+
+ Dummy logger which ignores all messages, but can optionally throw on errors.
+
+
+
+
+ It ignores everything and doesn't throw anything.
+
+
+
+
+ Throws a on errors, but ignores anything else.
+
+
+
+
+ Constructor
+
+ If non-null, this exception type is thrown on
+ errors. It must have a public constructor that takes a as the only
+ argument.
+
+
+
+
+
+
+
+
+
+ A high-level representation of a row in the ImplMap table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+ From column ImplMap.MappingFlags
+
+
+
+ Attributes
+
+
+
+ From column ImplMap.ImportName
+
+
+
+ Name
+
+
+
+ From column ImplMap.ImportScope
+
+
+
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the char set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets best fit
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets throw on unmappable char
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets calling convention
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Checks whether this is a certain P/Invoke method
+
+ Name of the DLL
+ Name of the function within the DLL
+ true if it's the specified P/Invoke method, else false
+
+
+
+ Checks whether this is a certain P/Invoke method
+
+ Name of the DLL
+ Name of the function within the DLL
+ Treat as Windows
+ true if it's the specified P/Invoke method, else false
+
+
+
+ An ImplMap row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Scope
+ Name
+ Flags
+
+
+
+ Created from a row in the ImplMap table
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ImplMap row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ options
+
+
+
+
+ Use s whenever possible if the is located
+ in this module.
+
+
+
+
+ Use s whenever possible if the is located
+ in this module.
+
+
+
+
+ Use s whenever possible if the is located
+ in this module.
+
+
+
+
+ Use s, s and s
+ whenever possible if the definition is located in this module.
+
+
+
+
+
+
+
+ Don't set this flag. For internal use only.
+
+
+
+
+ Re-maps entities that were renamed in the target module
+
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Matches source to the one that is already present in the target module under a different name.
+
+ referenced by the entity that is being imported.
+ matching or null if there's no match.
+
+
+
+ Overrides default behavior of
+ May be used to use reference assemblies for resolution, for example.
+
+ to create for.
+ or null to use default 's type resolution
+
+
+
+ Imports s, s, s
+ and s as references
+
+
+
+
+ Constructor
+
+ The module that will own all references
+
+
+
+ Constructor
+
+ The module that will own all references
+ Generic parameter context
+
+
+
+ Constructor
+
+ The module that will own all references
+ Importer options
+
+
+
+ Constructor
+
+ The module that will own all references
+ Importer options
+ Generic parameter context
+
+
+
+ Constructor
+
+ The module that will own all references
+ Importer options
+ Generic parameter context
+ Mapper for renamed entities
+
+
+
+ Imports a as a . If it's a type that should be
+ the declaring type of a field/method reference, call instead.
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a . Should be called if it's the
+ declaring type of a method/field reference. See also
+
+ The type
+
+
+
+
+ Imports a as a
+
+ The type
+ A list of all required modifiers or null
+ A list of all optional modifiers or null
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The type
+ A list of all required modifiers or null
+ A list of all optional modifiers or null
+ The imported type or null if is invalid
+
+
+
+ Imports a as a . This will be either
+ a or a .
+
+ The method
+ The imported method or null if is invalid
+ or if we failed to import the method
+
+
+
+ Imports a as a . This will be either
+ a or a .
+
+ The method
+ Always verify method signature to make sure the
+ returned reference matches the metadata in the source assembly
+ The imported method or null if is invalid
+ or if we failed to import the method
+
+
+
+ Imports a as a
+
+ The field
+ The imported field or null if is invalid
+ or if we failed to import the field
+
+
+
+ Imports a as a
+
+ The field
+ Always verify field signature to make sure the
+ returned reference matches the metadata in the source assembly
+ The imported field or null if is invalid
+ or if we failed to import the field
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The sig
+ The imported sig or null if input is invalid
+
+
+
+ Imports a
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a as an
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a as an
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The member ref
+ The imported member ref or null if is invalid
+
+
+
+ A high-level representation of a row in the InterfaceImpl table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column InterfaceImpl.Interface
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ An InterfaceImpl row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The interface the type implements
+
+
+
+ Created from a row in the InterfaceImpl table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this InterfaceImpl row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Resolves types, methods, fields
+
+
+
+
+ Resolves types
+
+
+
+
+ Resolves a type
+
+ The type
+ The module that needs to resolve the type or null
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves fields and methods
+
+
+
+
+ Resolves a method or a field
+
+ A method/field reference
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Resolves tokens
+
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Interface to get the full name of a type
+
+
+
+
+ true if it's a value type
+
+
+
+
+ Returns the name of this type
+
+
+
+
+ Returns the reflection name of this type
+
+
+
+
+ Returns the namespace of this type
+
+
+
+
+ Returns the reflection namespace of this type
+
+
+
+
+ Returns the reflection name of this type. See also .
+
+
+
+
+ Returns the reflection name of this type, and includes the assembly name where the
+ type is located. It can be passed to to
+ load the type.
+
+
+
+
+ Gets the assembly where this type is defined
+
+
+
+
+ Gets the scope, which is different from since it
+ can differentiate between modules within the same assembly.
+
+
+
+
+ Gets the type whose scope is returned by and whose assembly
+ is returned by . This is always a
+ , or null. It can also be a
+ nested .
+ For example, if this type is a System.String&, then this value is a System.String.
+ If it's a generic instance type (eg. List<int>), then the generic type is
+ returned (eg. List<T>). In other words, the first or
+ that is found (without searching generic arguments) is returned.
+
+
+
+
+ true if it's an integer or a floating point type
+
+
+
+
+ Implemented by types and calling convention signatures.
+
+
+
+
+ true if this contains a or a .
+
+
+
+
+ Finds s
+
+
+
+
+ Finds a
+
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing or null if it wasn't found.
+
+
+
+ Finds a . 's scope (i.e., module or
+ assembly) is ignored when looking up the type.
+
+ The type ref
+ An existing or null if it wasn't found.
+
+
+
+ Interface to access a local or a parameter
+
+
+
+
+ Gets the variable type
+
+
+
+
+ Gets the 0-based position
+
+
+
+
+ Gets/sets the variable name
+
+
+
+
+ A high-level representation of a row in the ManifestResource table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column ManifestResource.Offset
+
+
+
+
+
+
+
+ From column ManifestResource.Flags
+
+
+
+ Attributes
+
+
+
+ From column ManifestResource.Name
+
+
+
+ Name
+
+
+
+ From column ManifestResource.Implementation
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ A ManifestResource row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+ Implementation
+
+
+
+ Constructor
+
+ Name
+ Implementation
+ Flags
+
+
+
+ Constructor
+
+ Name
+ Implementation
+ Flags
+ Offset
+
+
+
+ Created from a row in the ManifestResource table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ManifestResource row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ ManifestResource flags. See CorHdr.h/CorManifestResourceFlags
+
+
+
+
+
+
+ The Resource is exported from the Assembly.
+
+
+ The Resource is private to the Assembly.
+
+
+
+ Reads s
+
+
+
+
+ Reads a from the #Blob heap
+
+ Module
+ Blob offset
+ A new instance
+
+
+
+ Reads a from the #Blob heap
+
+ Module
+ Blob offset
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ Marshal data
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ Marshal data
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ A reader that will be owned by us
+ A new instance
+
+
+
+ Reads a from
+
+ Owner module
+ A reader that will be owned by us
+ Generic parameter context
+ A new instance
+
+
+
+ Base class of all marshal types
+
+
+
+
+ The native type
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+ Native type
+
+
+
+
+
+
+ Contains the raw marshal blob data
+
+
+
+
+ Gets/sets the raw data
+
+
+
+
+ Constructor
+
+ Raw data
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the size
+
+
+
+
+ true if is valid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Size
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the variant type
+
+
+
+
+ Gets/sets the user-defined sub type (it's usually null)
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Variant type
+
+
+
+ Constructor
+
+ User-defined sub type
+
+
+
+ Constructor
+
+ Variant type
+ User-defined sub type
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the element type
+
+
+
+
+ Gets/sets the size
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Size
+
+
+
+ Constructor
+
+ Size
+ Element type
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the element type
+
+
+
+
+ Gets/sets the parameter number
+
+
+
+
+ Gets/sets the size of the array
+
+
+
+
+ Gets/sets the flags
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ true if ntaSizeParamIndexSpecified bit is set, false if it's not
+ set or if is invalid.
+
+
+
+
+ true if ntaSizeParamIndexSpecified bit is not set, false if it's
+ set or if is invalid.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Element type
+
+
+
+ Constructor
+
+ Element type
+ Parameter number
+
+
+
+ Constructor
+
+ Element type
+ Parameter number
+ Number of elements
+
+
+
+ Constructor
+
+ Element type
+ Parameter number
+ Number of elements
+ Flags
+
+
+
+
+
+
+ A marshal type
+
+
+
+
+ Gets/sets the GUID string
+
+
+
+
+ Gets/sets the native type name string
+
+
+
+
+ Gets/sets the custom marshaler
+
+
+
+
+ Gets/sets the cookie string
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ GUID string
+
+
+
+ Constructor
+
+ GUID string
+ Native type name string
+
+
+
+ Constructor
+
+ GUID string
+ Native type name string
+ Custom marshaler name string
+
+
+
+ Constructor
+
+ GUID string
+ Native type name string
+ Custom marshaler name string
+ Cookie string
+
+
+
+
+
+
+ A , or a
+ marshal type
+
+
+
+
+ Gets/sets the IID parameter index
+
+
+
+
+ true if is valid
+
+
+
+
+ Constructor
+
+ Native type
+
+
+
+ Constructor
+
+ Native type
+ IID parameter index
+
+
+
+
+
+
+ Metadata token
+
+
+
+
+ Mask to get the rid from a raw metadata token
+
+
+
+
+ Max rid value
+
+
+
+
+ Number of bits to right shift a raw metadata token to get the table index
+
+
+
+
+ Returns the table type
+
+
+
+
+ Returns the row id
+
+
+
+
+ Returns the raw token
+
+
+
+
+ Returns true if it's a null token
+
+
+
+
+ Constructor
+
+ Raw token
+
+
+
+ Constructor
+
+ Raw token
+
+
+
+ Constructor
+
+ The table type
+ Row id
+
+
+
+ Constructor
+
+ The table type
+ Row id
+
+
+
+ Returns the rid (row ID)
+
+ A raw metadata token
+ A rid
+
+
+
+ Returns the rid (row ID)
+
+ A raw metadata token
+ A rid
+
+
+
+ Returns the table
+
+ A raw metadata token
+ A metadata table index
+
+
+
+ Returns the table
+
+ A raw metadata token
+ A metadata table index
+
+
+
+ Gets the token as a raw 32-bit signed integer
+
+
+
+
+ Gets the token as a raw 32-bit unsigned integer
+
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Represents the #Blob stream
+
+
+
+
+
+
+
+
+
+
+ Reads data
+
+ Offset of data
+ The data or null if invalid offset
+
+
+
+ Reads data just like , but returns an empty array if
+ offset is invalid
+
+ Offset of data
+ The data
+
+
+
+ Creates a reader that can access a blob
+
+ Offset of blob
+ A new stream
+
+
+
+ Creates a reader that can access a blob or returns false on failure
+
+ Offset of blob
+ Updated with the reader
+
+
+
+
+ Contains all possible coded token classes
+
+
+
+ TypeDefOrRef coded token
+
+
+ HasConstant coded token
+
+
+ HasCustomAttribute coded token
+
+
+ HasFieldMarshal coded token
+
+
+ HasDeclSecurity coded token
+
+
+ MemberRefParent coded token
+
+
+ HasSemantic coded token
+
+
+ MethodDefOrRef coded token
+
+
+ MemberForwarded coded token
+
+
+ Implementation coded token
+
+
+ CustomAttributeType coded token
+
+
+ ResolutionScope coded token
+
+
+ TypeOrMethodDef coded token
+
+
+ HasCustomDebugInformation coded token
+
+
+
+ Returns all types of tables
+
+
+
+
+ Returns the number of bits that is used to encode table type
+
+
+
+
+ Constructor
+
+ Number of bits used to encode token type
+ All table types
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+ true if successful
+
+
+
+ Encodes a token
+
+ The token
+ Coded token
+ true if successful
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token or 0 on failure
+
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token or 0 on failure
+
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token
+ true if successful
+
+
+
+ Decodes a coded token
+
+ The coded token
+ Decoded token
+ true if successful
+
+
+
+ Info about one column in a MD table
+
+
+
+
+ Gets the column index
+
+
+
+
+ Returns the column offset within the table row
+
+
+
+
+ Returns the column size
+
+
+
+
+ Returns the column name
+
+
+
+
+ Returns the ColumnSize enum value
+
+
+
+
+ Constructor
+
+ Column index
+ The column name
+ Column size
+
+
+
+ Constructor
+
+ Column index
+ The column name
+ Column size
+ Offset of column
+ Size of column
+
+
+
+ Reads the column
+
+ A reader positioned on this column
+ The column value
+
+
+
+ Writes a column
+
+ The writer position on this column
+ The column value
+
+
+
+ MD table column size
+
+
+
+ RID into Module table
+
+
+ RID into TypeRef table
+
+
+ RID into TypeDef table
+
+
+ RID into FieldPtr table
+
+
+ RID into Field table
+
+
+ RID into MethodPtr table
+
+
+ RID into Method table
+
+
+ RID into ParamPtr table
+
+
+ RID into Param table
+
+
+ RID into InterfaceImpl table
+
+
+ RID into MemberRef table
+
+
+ RID into Constant table
+
+
+ RID into CustomAttribute table
+
+
+ RID into FieldMarshal table
+
+
+ RID into DeclSecurity table
+
+
+ RID into ClassLayout table
+
+
+ RID into FieldLayout table
+
+
+ RID into StandAloneSig table
+
+
+ RID into EventMap table
+
+
+ RID into EventPtr table
+
+
+ RID into Event table
+
+
+ RID into PropertyMap table
+
+
+ RID into PropertyPtr table
+
+
+ RID into Property table
+
+
+ RID into MethodSemantics table
+
+
+ RID into MethodImpl table
+
+
+ RID into ModuleRef table
+
+
+ RID into TypeSpec table
+
+
+ RID into ImplMap table
+
+
+ RID into FieldRVA table
+
+
+ RID into ENCLog table
+
+
+ RID into ENCMap table
+
+
+ RID into Assembly table
+
+
+ RID into AssemblyProcessor table
+
+
+ RID into AssemblyOS table
+
+
+ RID into AssemblyRef table
+
+
+ RID into AssemblyRefProcessor table
+
+
+ RID into AssemblyRefOS table
+
+
+ RID into File table
+
+
+ RID into ExportedType table
+
+
+ RID into ManifestResource table
+
+
+ RID into NestedClass table
+
+
+ RID into GenericParam table
+
+
+ RID into MethodSpec table
+
+
+ RID into GenericParamConstraint table
+
+
+ RID into Document table
+
+
+ RID into MethodDebugInformation table
+
+
+ RID into LocalScope table
+
+
+ RID into LocalVariable table
+
+
+ RID into LocalConstant table
+
+
+ RID into ImportScope table
+
+
+ RID into StateMachineMethod table
+
+
+ RID into CustomDebugInformation table
+
+
+ 8-bit byte
+
+
+ 16-bit signed int
+
+
+ 16-bit unsigned int
+
+
+ 32-bit signed int
+
+
+ 32-bit unsigned int
+
+
+ Index into #Strings stream
+
+
+ Index into #GUID stream
+
+
+ Index into #Blob stream
+
+
+ TypeDefOrRef encoded token
+
+
+ HasConstant encoded token
+
+
+ HasCustomAttribute encoded token
+
+
+ HasFieldMarshal encoded token
+
+
+ HasDeclSecurity encoded token
+
+
+ MemberRefParent encoded token
+
+
+ HasSemantic encoded token
+
+
+ MethodDefOrRef encoded token
+
+
+ MemberForwarded encoded token
+
+
+ Implementation encoded token
+
+
+ CustomAttributeType encoded token
+
+
+ ResolutionScope encoded token
+
+
+ TypeOrMethodDef encoded token
+
+
+ HasCustomDebugInformation encoded token
+
+
+
+ See COMIMAGE_FLAGS_XXX in CorHdr.h in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_ILONLY in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_32BITREQUIRED in the Windows SDK
+
+
+
+
+ Set if a native header exists (COMIMAGE_FLAGS_IL_LIBRARY)
+
+
+
+
+ See COMIMAGE_FLAGS_STRONGNAMESIGNED in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_NATIVE_ENTRYPOINT in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_TRACKDEBUGDATA in the Windows SDK
+
+
+
+
+ See COMIMAGE_FLAGS_32BITPREFERRED in the Windows SDK
+
+
+
+
+ Used when a #~ stream is present in the metadata
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets a rid list (eg. field list)
+
+ Source table, eg. TypeDef
+ Row ID in
+ Column index in , eg. 4 for TypeDef.FieldList
+ Destination table, eg. Field
+ A new instance
+
+
+
+
+
+
+ A custom .NET metadata stream
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of metadata
+ The stream header
+
+
+
+ .NET metadata stream
+
+
+
+
+ Reader that can access the whole stream.
+
+ NOTE: Always copy this field to a local variable before using it since it must be thread safe.
+
+
+
+
+ null if it wasn't present in the file
+
+
+
+
+
+
+
+
+
+
+ Gets the length of this stream in the metadata
+
+
+
+
+ Gets the stream header
+
+
+
+
+ Gets the name of the stream
+
+
+
+
+ Gets a data reader that can read the full stream
+
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of metadata
+ The stream header
+
+
+
+ Called after gets recreated
+
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Checks whether an index is valid
+
+ The index
+ true if the index is valid
+
+
+
+ Check whether an offset is within the stream
+
+ Stream offset
+ true if the offset is valid
+
+
+
+ Check whether an offset is within the stream
+
+ Stream offset
+ Size of data
+ true if the offset is valid
+
+
+
+ Base class of #US, #Strings, #Blob, and #GUID classes
+
+
+
+
+
+
+
+
+
+
+ Initializes .NET table row sizes
+
+
+
+
+ Initializes the table sizes
+
+ true if #Strings size >= 0x10000
+ true if #GUID size >= 0x10000
+ true if #Blob size >= 0x10000
+ Count of rows in each table
+ Count of rows in each table (debug tables)
+
+
+
+ Creates the table infos
+
+ Major table version
+ Minor table version
+ All table infos (not completely initialized)
+
+
+
+ Creates the table infos
+
+ Major table version
+ Minor table version
+ Initialized to max present tables (eg. 42 or 45)
+ All table infos (not completely initialized)
+
+
+
+ Used when a #- stream is present in the metadata
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Converts a logical Field rid to a physical Field rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Method rid to a physical Method rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Param rid to a physical Param rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Event rid to a physical Event rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+ Converts a logical Property rid to a physical Property rid
+
+ A valid rid
+ Converted rid or any invalid rid value if is invalid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets a rid list (eg. field list)
+
+ Source table, eg. TypeDef
+ Row ID in
+ Column index in , eg. 4 for TypeDef.FieldList
+ Destination table, eg. Field
+ A new instance
+
+
+
+
+
+
+ Linear searches the table (O(n)) for a rid whose key column at index
+ is equal to .
+
+ Table to search
+ Key column index
+ Key
+ The rid of the found row, or 0 if none found
+
+
+
+
+
+
+ Represents the #GUID stream
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Read a
+
+ Index into this stream
+ A or null if is 0 or invalid
+
+
+
+ Heap type. The values are set in stone by MS. Don't change.
+
+
+
+ #Strings heap
+
+
+ #GUID heap
+
+
+ #Blob heap
+
+
+ #US heap
+
+
+
+ Represents the IMAGE_COR20_HEADER structure
+
+
+
+
+ Returns true if it has a native header
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.cb field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.MajorRuntimeVersion field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.MinorRuntimeVersion field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.Metadata field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.Flags field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.EntryPointToken/EntryPointTokenRVA field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.Resources field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.StrongNameSignature field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.CodeManagerTable field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.VTableFixups field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.ExportAddressTableJumps field
+
+
+
+
+ Returns the IMAGE_COR20_HEADER.ManagedNativeHeader field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Reads metadata table columns
+
+
+
+
+ Reads a column
+
+ The table to read from
+ Table row id
+ The column to read
+ Result
+ true if was updated, false if
+ the column should be read from the original table.
+
+
+
+ Reads table rows
+
+ Raw row
+
+
+
+ Reads a table row or returns false if the row should be read from the original table
+
+ Row id
+ The row
+
+
+
+
+ Version strings found in the meta data header
+
+
+
+
+ MS CLR 1.0 version string (.NET 1.0)
+
+
+
+
+ MS CLR 1.0 version string (.NET 1.0). This is an incorrect version that shouldn't be used.
+
+
+
+
+ MS CLR 1.0 version string (.NET 1.0). This is an incorrect version that shouldn't be used.
+
+
+
+
+ MS CLR 1.0 version string (.NET 1.0). This is an incorrect version that shouldn't be used.
+
+
+
+
+ MS CLR 1.1 version string (.NET 1.1)
+
+
+
+
+ MS CLR 2.0 version string (.NET 2.0-3.5)
+
+
+
+
+ MS CLR 4.0 version string (.NET 4.0-4.5)
+
+
+
+
+ MS CLR 1.0 any version
+
+
+
+
+ MS CLR 1.0 any version
+
+
+
+
+ MS CLR 1.1 any version
+
+
+
+
+ MS CLR 2.0 any version
+
+
+
+
+ MS CLR 4.0 any version
+
+
+
+
+ ECMA 2002 version string
+
+
+
+
+ ECMA 2005 version string
+
+
+
+
+ Portable PDB v1.0
+
+
+
+
+ MDStream flags
+
+
+
+ #Strings stream is big and requires 4 byte offsets
+
+
+ #GUID stream is big and requires 4 byte offsets
+
+
+ #Blob stream is big and requires 4 byte offsets
+
+
+
+
+
+
+
+
+ Extra data follows the row counts
+
+
+ Set if certain tables can contain deleted rows. The name column (if present) is set to "_Deleted"
+
+
+
+ A MD table (eg. Method table)
+
+
+
+
+
+
+
+
+
+
+ Gets the table
+
+
+
+
+ Gets the name of this table
+
+
+
+
+ Returns total number of rows
+
+
+
+
+ Gets the total size in bytes of one row in this table
+
+
+
+
+ Returns all the columns
+
+
+
+
+ Returns true if there are no valid rows
+
+
+
+
+ Returns info about this table
+
+
+
+
+ Constructor
+
+ The table
+ Number of rows in this table
+ Info about this table
+
+
+
+ Checks whether the row exists
+
+ Row ID
+
+
+
+ Checks whether the row does not exist
+
+ Row ID
+
+
+
+
+
+
+ Reads .NET metadata
+
+
+
+
+ true if the compressed (normal) metadata is used, false if the non-compressed
+ (Edit N' Continue) metadata is used. This can be false even if the table stream
+ is #~ but that's very uncommon.
+
+
+
+
+ true if this is standalone Portable PDB metadata
+
+
+
+
+ Gets the .NET header
+
+
+
+
+ Gets the version found in the metadata header. The major version number is in the high 16 bits
+ and the lower version number is in the low 16 bits.
+
+
+
+
+ Gets the version string found in the metadata header
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the metadata header
+
+
+
+
+ Returns the #Strings stream or a default empty one if it's not present
+
+
+
+
+ Returns the #US stream or a default empty one if it's not present
+
+
+
+
+ Returns the #Blob stream or a default empty one if it's not present
+
+
+
+
+ Returns the #GUID stream or a default empty one if it's not present
+
+
+
+
+ Returns the #~ or #- tables stream
+
+
+
+
+ Returns the #Pdb stream or null if it's not a standalone portable PDB file
+
+
+
+
+ Gets all streams
+
+
+
+
+ Gets a list of all the valid TypeDef rids. It's usually every rid in the
+ TypeDef table, but could be less if a type has been deleted.
+
+
+
+
+ Gets a list of all the valid ExportedType rids. It's usually every rid in the
+ ExportedType table, but could be less if a type has been deleted.
+
+
+
+
+ Gets the Field rid list
+
+ TypeDef rid
+ A new instance
+
+
+
+ Gets the Method rid list
+
+ TypeDef rid
+ A new instance
+
+
+
+ Gets the Param rid list
+
+ Method rid
+ A new instance
+
+
+
+ Gets the Event rid list
+
+ EventMap rid
+ A new instance
+
+
+
+ Gets the Property rid list
+
+ PropertyMap rid
+ A new instance
+
+
+
+ Finds all InterfaceImpl rids owned by
+
+ Owner TypeDef rid
+ A instance containing the valid InterfaceImpl rids
+
+
+
+ Finds all GenericParam rids owned by in table
+
+ A TypeOrMethodDef table
+ Owner rid
+ A instance containing the valid GenericParam rids
+
+
+
+ Finds all GenericParamConstraint rids owned by
+
+ Owner GenericParam rid
+ A instance containing the valid GenericParamConstraint rids
+
+
+
+ Finds all CustomAttribute rids owned by in table
+
+ A HasCustomAttribute table
+ Owner rid
+ A instance containing the valid CustomAttribute rids
+
+
+
+ Finds all DeclSecurity rids owned by in table
+
+ A HasDeclSecurity table
+ Owner rid
+ A instance containing the valid DeclSecurity rids
+
+
+
+ Finds all MethodSemantics rids owned by in table
+
+ A HasSemantic table
+ Owner rid
+ A instance containing the valid MethodSemantics rids
+
+
+
+ Finds all MethodImpl rids owned by
+
+ Owner TypeDef rid
+ A instance containing the valid MethodImpl rids
+
+
+
+ Finds a ClassLayout rid
+
+ Owner TypeDef rid
+ The ClassLayout rid or 0 if is invalid
+ or if it has no row in the ClassLayout table.
+
+
+
+ Finds a FieldLayout rid
+
+ Owner Field rid
+ The FieldLayout rid or 0 if is invalid
+ or if it has no row in the FieldLayout table.
+
+
+
+ Finds a FieldMarshal rid
+
+ A HasFieldMarshal table
+ Owner rid
+ The FieldMarshal rid or 0 if is invalid
+ or if it has no row in the FieldMarshal table.
+
+
+
+ Finds a FieldRVA rid
+
+ Owner Field rid
+ The FieldRVA rid or 0 if is invalid
+ or if it has no row in the FieldRVA table.
+
+
+
+ Finds an ImplMap rid
+
+ A MemberForwarded table
+ Owner rid
+ The ImplMap rid or 0 if is invalid
+ or if it has no row in the ImplMap table.
+
+
+
+ Finds a NestedClass rid
+
+ Owner TypeDef rid
+ The NestedClass rid or 0 if is invalid
+ or if it has no row in the NestedClass table.
+
+
+
+ Finds an EventMap rid
+
+ Owner TypeDef rid
+ The EventMap rid or 0 if is invalid
+ or if it has no row in the EventMap table.
+
+
+
+ Finds a PropertyMap rid
+
+ Owner TypeDef rid
+ The PropertyMap rid or 0 if is invalid
+ or if it has no row in the PropertyMap table.
+
+
+
+ Finds a Constant rid
+
+ A HasConstant table
+ Owner rid
+ The Constant rid or 0 if is invalid
+ or if it has no row in the Constant table.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Field rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Method rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Event rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeDef rid
+
+ A Property rid
+ The owner TypeDef rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Returns the owner TypeOrMethodDef rid
+
+ A GenericParam rid
+ The owner TypeOrMethodDef rid or 0 if is
+ invalid or if it has no owner.
+
+
+
+ Returns the owner GenericParam rid
+
+ A GenericParamConstraint rid
+ The owner GenericParam rid or 0 if is
+ invalid or if it has no owner.
+
+
+
+ Returns the owner Method rid
+
+ A Param rid
+ The owner Method rid or 0 if is invalid
+ or if it has no owner.
+
+
+
+ Gets a list of all nested classes owned by
+
+ A TypeDef rid
+ A new instance
+
+
+
+ Gets a list of all non-nested classes. A type is a non-nested type if
+ returns an empty list.
+
+ A new instance
+
+
+
+ Finds all LocalScope rids owned by
+
+ Owner Method rid
+ A instance containing the valid LocalScope rids
+
+
+
+ Gets the StateMachineMethod rid or 0 if it's not a state machine method
+
+ Owner Method rid
+
+
+
+
+ Finds all CustomDebugInformation rids owned by in table
+
+ A HasCustomDebugInformation table
+ Owner rid
+ A instance containing the valid CustomDebugInformation rids
+
+
+
+ Disposes of this instance
+
+
+
+
+ Common base class for #~ and #- metadata classes
+
+
+
+
+ The PE image
+
+
+
+
+ The .NET header
+
+
+
+
+ The MD header
+
+
+
+
+ The #Strings stream
+
+
+
+
+ The #US stream
+
+
+
+
+ The #Blob stream
+
+
+
+
+ The #GUID stream
+
+
+
+
+ The #~ or #- stream
+
+
+
+
+ The #Pdb stream
+
+
+
+
+ All the streams that are present in the PE image
+
+
+
+ true if this is standalone Portable PDB metadata
+
+
+
+ Sorts a table by key column
+
+
+
+
+ Remembers rid and key
+
+
+
+
+ Constructor
+
+ Row ID
+ Key
+
+
+
+ Constructor
+
+ The MD table
+ Index of key column
+
+
+
+ Binary searches for a row with a certain key
+
+ The key
+ The row or 0 if not found
+
+
+
+ Find all rids that contain
+
+ The key
+ A new instance
+
+
+
+ Constructor
+
+ The PE image
+ The .NET header
+ The MD header
+
+
+
+ Initializes the metadata, tables, streams
+
+
+
+
+ Creates empty heap objects if they're not present in the metadata
+
+
+
+
+ Called by
+
+
+
+
+ Binary searches the table for a rid whose key column at index
+ is equal to .
+
+ Table to search
+ Key column index
+ Key
+ The rid of the found row, or 0 if none found
+
+
+
+ Finds all rows owned by in table
+ whose index is
+
+ Table to search
+ Key column index
+ Key
+ A instance
+
+
+
+ Finds all rows owned by in table
+ whose index is . Should be called if
+ could be unsorted.
+
+ Table to search
+ Key column index
+ Key
+ A instance
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Low level access to a .NET file's metadata
+
+
+
+
+ Create a instance
+
+ The PE image
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ Runtime reader kind
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ Runtime reader kind
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Create a instance
+
+ The PE image
+ Runtime reader kind
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Create a standalone portable PDB instance
+
+ Metadata stream
+ true if we should verify that it's a .NET PE file
+ A new instance
+
+
+
+ Represents the .NET metadata header
+
+ IMAGE_COR20_HEADER.Metadata points to this header
+
+
+
+ Returns the signature (should be 0x424A5342)
+
+
+
+
+ Returns the major version
+
+
+
+
+ Returns the minor version
+
+
+
+
+ Returns the reserved dword (pointer to extra header data)
+
+
+
+
+ Returns the version string length value
+
+
+
+
+ Returns the version string
+
+
+
+
+ Returns the offset of STORAGEHEADER
+
+
+
+
+ Returns the flags (reserved)
+
+
+
+
+ Returns the reserved byte (padding)
+
+
+
+
+ Returns the number of streams
+
+
+
+
+ Returns all stream headers
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Runtime reader kind
+ Verify section
+ Thrown if verification fails
+
+
+
+ #Pdb stream
+
+
+
+
+ Gets the PDB id
+
+
+
+
+ Gets the entry point token or 0
+
+
+
+
+ Gets the referenced type system tables in the PE metadata file
+
+
+
+
+ Gets all type system table rows. This array has exactly 64 elements.
+
+
+
+
+
+
+
+ Equality comparer for all raw rows
+
+
+
+
+ Default instance
+
+
+
+
+ Raw contents of an uncompressed Module table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed TypeRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed TypeDef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Field table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Method table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ParamPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Param table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed InterfaceImpl table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MemberRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Constant table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed CustomAttribute table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldMarshal table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed DeclSecurity table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ClassLayout table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldLayout table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed StandAloneSig table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed EventMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed EventPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Event table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed PropertyMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed PropertyPtr table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Property table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodSemantics table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodImpl table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ModuleRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed TypeSpec table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ImplMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed FieldRVA table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ENCLog table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ENCMap table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Assembly table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyProcessor table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyOS table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyRef table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyRefProcessor table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed AssemblyRefOS table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed File table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ExportedType table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ManifestResource table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed NestedClass table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed GenericParam table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodSpec table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed GenericParamConstraint table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed Document table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed MethodDebugInformation table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed LocalScope table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed LocalVariable table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed LocalConstant table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed ImportScope table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed StateMachineMethod table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Raw contents of an uncompressed CustomDebugInformation table row
+
+
+
+
+ Gets a column
+
+ Index of column
+
+
+
+
+ Stores a list of rids
+
+
+
+
+ Gets the empty instance
+
+
+
+
+ Creates a new instance
+
+
+
+
+
+
+
+ Creates a new instance
+
+ List of valid rids
+
+
+
+
+ Gets the 'th rid
+
+ Index. Must be <
+ A rid or 0 if is invalid
+
+
+
+ Gets the number of rids it will iterate over
+
+
+
+
+ Enumerator
+
+
+
+
+ Gets the current rid
+
+
+
+
+ Disposes this instance
+
+
+
+
+ Moves to the next rid
+
+
+
+
+
+ Gets the enumerator
+
+
+
+
+
+ Storage flags found in the MD header
+
+
+
+
+ Normal flags
+
+
+
+
+ More data after the header but before the streams.
+
+ The CLR will fail to load the file if this flag (or any other bits) is set.
+
+
+
+ A metadata stream header
+
+
+
+
+ The offset of the stream relative to the start of the metadata header
+
+
+
+
+ The size of the stream
+
+
+
+
+ The name of the stream
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the #Strings stream
+
+
+
+
+
+
+
+
+
+
+ Reads a
+
+ Offset of string
+ A instance or null if invalid offset
+
+
+
+ Reads a . The empty string is returned if
+ is invalid.
+
+ Offset of string
+ A instance
+
+
+
+ The metadata tables
+
+
+
+ Module table (00h)
+
+
+ TypeRef table (01h)
+
+
+ TypeDef table (02h)
+
+
+ FieldPtr table (03h)
+
+
+ Field table (04h)
+
+
+ MethodPtr table (05h)
+
+
+ Method table (06h)
+
+
+ ParamPtr table (07h)
+
+
+ Param table (08h)
+
+
+ InterfaceImpl table (09h)
+
+
+ MemberRef table (0Ah)
+
+
+ Constant table (0Bh)
+
+
+ CustomAttribute table (0Ch)
+
+
+ FieldMarshal table (0Dh)
+
+
+ DeclSecurity table (0Eh)
+
+
+ ClassLayout table (0Fh)
+
+
+ FieldLayout table (10h)
+
+
+ StandAloneSig table (11h)
+
+
+ EventMap table (12h)
+
+
+ EventPtr table (13h)
+
+
+ Event table (14h)
+
+
+ PropertyMap table (15h)
+
+
+ PropertyPtr table (16h)
+
+
+ Property table (17h)
+
+
+ MethodSemantics table (18h)
+
+
+ MethodImpl table (19h)
+
+
+ ModuleRef table (1Ah)
+
+
+ TypeSpec table (1Bh)
+
+
+ ImplMap table (1Ch)
+
+
+ FieldRVA table (1Dh)
+
+
+ ENCLog table (1Eh)
+
+
+ ENCMap table (1Fh)
+
+
+ Assembly table (20h)
+
+
+ AssemblyProcessor table (21h)
+
+
+ AssemblyOS table (22h)
+
+
+ AssemblyRef table (23h)
+
+
+ AssemblyRefProcessor table (24h)
+
+
+ AssemblyRefOS table (25h)
+
+
+ File table (26h)
+
+
+ ExportedType table (27h)
+
+
+ ManifestResource table (28h)
+
+
+ NestedClass table (29h)
+
+
+ GenericParam table (2Ah)
+
+
+ MethodSpec table (2Bh)
+
+
+ GenericParamConstraint table (2Ch)
+
+
+ (Portable PDB) Document table (30h)
+
+
+ (Portable PDB) MethodDebugInformation table (31h)
+
+
+ (Portable PDB) LocalScope table (32h)
+
+
+ (Portable PDB) LocalVariable table (33h)
+
+
+ (Portable PDB) LocalConstant table (34h)
+
+
+ (Portable PDB) ImportScope table (35h)
+
+
+ (Portable PDB) StateMachineMethod table (36h)
+
+
+ (Portable PDB) CustomDebugInformation table (37h)
+
+
+
+ Info about one MD table
+
+
+
+
+ Returns the table type
+
+
+
+
+ Returns the total size of a row in bytes
+
+
+
+
+ Returns all the columns
+
+
+
+
+ Returns the name of the table
+
+
+
+
+ Constructor
+
+ Table type
+ Table name
+ All columns
+
+
+
+ Constructor
+
+ Table type
+ Table name
+ All columns
+ Row size
+
+
+
+ .NET metadata tables stream
+
+
+
+
+ Gets/sets the column reader
+
+
+
+
+ Gets/sets the Method table reader
+
+
+
+
+ Gets the reserved field
+
+
+
+
+ Gets the version. The major version is in the upper 8 bits, and the minor version
+ is in the lower 8 bits.
+
+
+
+
+ Gets
+
+
+
+
+ Gets the reserved log2 rid field
+
+
+
+
+ Gets the valid mask
+
+
+
+
+ Gets the sorted mask
+
+
+
+
+ Gets the extra data
+
+
+
+
+ Gets the MD tables
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Constructor
+
+ factory
+ Offset of metadata
+ Stream header
+
+
+
+ Constructor
+
+ factory
+ Offset of metadata
+ Stream header
+ Runtime kind
+
+
+
+ Initializes MD tables
+
+ Type system table rows (from #Pdb stream)
+
+
+
+
+
+
+
+
+
+ Returns a MD table
+
+ The table type
+ A or null if table doesn't exist
+
+
+
+ Checks whether a table exists
+
+ The table type
+ true if the table exists
+
+
+
+ Checks whether table is sorted
+
+ The table
+
+
+
+ Reads a raw Module row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw TypeRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw TypeDef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Field row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Method row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ParamPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Param row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw InterfaceImpl row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MemberRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Constant row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw CustomAttribute row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldMarshal row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw DeclSecurity row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ClassLayout row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldLayout row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw StandAloneSig row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw EventMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw EventPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Event row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw PropertyMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw PropertyPtr row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Property row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodSemantics row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodImpl row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ModuleRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw TypeSpec row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ImplMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw FieldRVA row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ENCLog row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ENCMap row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Assembly row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyProcessor row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyOS row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyRef row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyRefProcessor row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw AssemblyRefOS row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw File row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ExportedType row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ManifestResource row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw NestedClass row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw GenericParam row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodSpec row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw GenericParamConstraint row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw Document row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw MethodDebugInformation row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw LocalScope row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw LocalVariable row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw LocalConstant row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw ImportScope row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw StateMachineMethod row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a raw CustomDebugInformation row or returns false if the row doesn't exist
+
+ Row ID
+ Row data
+
+
+
+
+ Reads a column
+
+ The table
+ Row ID
+ Column index in
+ Result is put here or 0 if we return false
+ true if we could read the column, false otherwise
+
+
+
+ Reads a column
+
+ The table
+ Row ID
+ Column
+ Result is put here or 0 if we return false
+ true if we could read the column, false otherwise
+
+
+
+ Represents the #US stream
+
+
+
+
+
+
+
+
+
+
+ Reads a unicode string
+
+ Offset of unicode string
+ A string or null if is invalid
+
+
+
+ Reads data just like , but returns an empty string if
+ offset is invalid
+
+ Offset of unicode string
+ The string
+
+
+
+ Finds types, fields, methods, etc in a module. If nothing has been added to the module, it's
+ faster to call ResolveMethodDef(), ResolveTypeRef() etc.
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ All found s
+
+
+
+
+ Finds all types, fields, etc
+
+ The module to scan
+ Itself
+
+
+
+ Methods to load properties to make sure they're initialized
+
+
+
+
+ Read every collection element
+
+ Collection element type
+ Collection
+
+
+
+ Load the object instance
+
+ The value (ignored)
+
+
+
+ A high-level representation of a row in the MemberRef table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column MemberRef.Class
+
+
+
+
+
+
+
+ From column MemberRef.Name
+
+
+
+ Name
+
+
+
+ From column MemberRef.Signature
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ true if this is a method reference ( != null)
+
+
+
+
+ true if this is a field reference ( != null)
+
+
+
+
+ Gets/sets the method sig
+
+
+
+
+ Gets/sets the field sig
+
+
+
+
+
+
+
+ true if the method has a hidden 'this' parameter
+
+
+
+
+ true if the method has an explicit 'this' parameter
+
+
+
+
+ Gets the calling convention
+
+
+
+
+ Gets/sets the method return type
+
+
+
+
+
+
+
+ Gets the full name
+
+
+
+
+ Get the declaring type's full name
+
+ Full name or null if there's no declaring type
+
+
+
+ Resolves the method/field
+
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Resolves the method/field
+
+ A or a instance
+ If the method/field couldn't be resolved
+
+
+
+ Resolves the field
+
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves the field
+
+ A instance
+ If the field couldn't be resolved
+
+
+
+ Resolves the method
+
+ A instance or null if it couldn't be resolved.
+
+
+
+ Resolves the method
+
+ A instance
+ If the method couldn't be resolved
+
+
+
+ Gets a that can be used as signature context
+
+ Context passed to the constructor
+ Field/method class owner
+
+
+
+
+
+
+
+ A MemberRef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Constructor
+
+ Owner module
+ Name of ref
+
+
+
+ Constructor
+
+ Owner module
+ Name of field ref
+ Field sig
+
+
+
+ Constructor
+
+ Owner module
+ Name of field ref
+ Field sig
+ Owner of field
+
+
+
+ Constructor
+
+ Owner module
+ Name of method ref
+ Method sig
+
+
+
+ Constructor
+
+ Owner module
+ Name of method ref
+ Method sig
+ Owner of method
+
+
+
+ Created from a row in the MemberRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this MemberRef row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Method attributes, see CorHdr.h/CorMethodAttr
+
+
+
+ member access mask - Use this mask to retrieve accessibility information.
+
+
+ Member not referenceable.
+
+
+ Member not referenceable.
+
+
+ Accessible only by the parent type.
+
+
+ Accessible by sub-types only in this Assembly.
+
+
+ Accessibly by anyone in the Assembly.
+
+
+ Accessible only by type and sub-types.
+
+
+ Accessibly by sub-types anywhere, plus anyone in assembly.
+
+
+ Accessibly by anyone who has visibility to this scope.
+
+
+ Defined on type, else per instance.
+
+
+ Method may not be overridden.
+
+
+ Method virtual.
+
+
+ Method hides by name+sig, else just by name.
+
+
+ vtable layout mask - Use this mask to retrieve vtable attributes.
+
+
+ The default.
+
+
+ Method always gets a new slot in the vtable.
+
+
+ Overridability is the same as the visibility.
+
+
+ Method does not provide an implementation.
+
+
+ Method is special. Name describes how.
+
+
+ Implementation is forwarded through pinvoke.
+
+
+ Managed method exported via thunk to unmanaged code.
+
+
+ Runtime should check name encoding.
+
+
+ Method has security associate with it.
+
+
+ Method calls another method containing security code.
+
+
+
+ A high-level representation of a row in the Method table
+
+
+
+
+ The row id in its table
+
+
+
+
+ All parameters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Method.RVA
+
+
+
+
+
+
+
+ From column Method.ImplFlags
+
+
+
+ Implementation attributes
+
+
+
+ From column Method.Flags
+
+
+
+ Attributes
+
+
+
+ From column Method.Name
+
+
+
+ Name
+
+
+
+ From column Method.Signature
+
+
+
+
+
+
+
+ From column Method.ParamList
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets/sets the method body. See also
+
+
+
+
+
+
+
+
+
+
+ Frees the method body if it has been loaded. This does nothing if
+ returns false.
+
+
+
+ Called to initialize
+
+
+
+ true if can free the method body
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the methods this method implements
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the export info or null if the method isn't exported to unmanaged code.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the CIL method body. See also
+
+
+
+
+ Gets/sets the native method body
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if it has a
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the full name
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets the parameters
+
+
+
+
+
+
+
+ true if the method has a hidden 'this' parameter
+
+
+
+
+ true if the method has an explicit 'this' parameter
+
+
+
+
+ Gets the calling convention
+
+
+
+
+ Gets/sets the method return type
+
+
+
+
+ true if the method returns a value (i.e., return type is not )
+
+
+
+
+ Gets/sets the method semantics attributes. If you remove/add a method to a property or
+ an event, you must manually update this property or eg. won't
+ work as expected.
+
+
+
+ Set when has been initialized
+
+
+
+
+
+ Initializes
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the method access
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the code type
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if this is the static type constructor
+
+
+
+
+ true if this is an instance constructor
+
+
+
+
+ true if this is a static or an instance constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A Method row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Method name
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+ Flags
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+ Impl flags
+
+
+
+ Constructor
+
+ Method name
+ Method sig
+ Impl flags
+ Flags
+
+
+
+ Created from a row in the Method table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Method row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+
+
+
+ Contains the name and ordinal of a method that gets exported to unmanaged code.
+
+
+
+
+ Gets the ordinal or null
+
+
+
+
+ Gets the name. If it's null, and is also null, the name of the method
+ () is used as the exported name.
+
+
+
+
+ Gets the options
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Name or null to export by ordinal
+
+
+
+ Constructor
+
+ Ordinal
+
+
+
+ Constructor
+
+ Name or null to export by ordinal
+ Ordinal or null to export by name
+
+
+
+ Constructor
+
+ Name or null to export by ordinal
+ Ordinal or null to export by name
+ Options
+
+
+
+ Exported method options
+
+
+
+
+ No bit is set
+
+
+
+
+ Transition from unmanaged code
+
+
+
+
+ Also retain app domain
+
+
+
+
+ Call most derived method
+
+
+
+
+ Method impl attributes, see CorHdr.h/CorMethodImpl
+
+
+
+ Flags about code type.
+
+
+ Method impl is IL.
+
+
+ Method impl is native.
+
+
+ Method impl is OPTIL
+
+
+ Method impl is provided by the runtime.
+
+
+ Flags specifying whether the code is managed or unmanaged.
+
+
+ Method impl is unmanaged, otherwise managed.
+
+
+ Method impl is managed.
+
+
+ Indicates method is defined; used primarily in merge scenarios.
+
+
+ Indicates method sig is not to be mangled to do HRESULT conversion.
+
+
+ Reserved for internal use.
+
+
+ Method is single threaded through the body.
+
+
+ Method may not be inlined.
+
+
+ Method should be inlined if possible.
+
+
+ Method may not be optimized.
+
+
+ Method may contain hot code and should be aggressively optimized.
+
+
+ The JIT compiler should look for security mitigation attributes, such as the user-defined System.Runtime.CompilerServices.SecurityMitigationsAttribute. If found, the JIT compiler applies any related security mitigations. Available starting with .NET Framework 4.8.
+
+
+
+ Describes which method some method implements
+
+
+
+
+ The method body. Usually a but could be a
+
+
+
+
+ The method implements
+
+
+
+
+ Constructor
+
+ Method body
+ The method implements
+
+
+
+ Method semantics flags, see CorHdr.h/CorMethodSemanticsAttr
+
+
+
+ No bit is set
+
+
+ Setter for property
+
+
+ Getter for property
+
+
+ other method for property or event
+
+
+ AddOn method for event
+
+
+ RemoveOn method for event
+
+
+ Fire method for event
+
+
+
+ A high-level representation of a row in the MethodSpec table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column MethodSpec.Method
+
+
+
+
+
+
+
+ From column MethodSpec.Instantiation
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the generic instance method sig
+
+
+
+
+
+
+
+
+
+
+ Gets the full name
+
+
+
+
+
+
+
+ A MethodSpec row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The generic method
+
+
+
+ Constructor
+
+ The generic method
+ The instantiated method sig
+
+
+
+ Created from a row in the MethodSpec table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this MethodSpec row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ context
+
+
+
+
+ Gets/sets the assembly resolver. This is never null.
+
+
+
+
+ Gets/sets the resolver. This is never null.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Assembly resolver or null
+
+
+
+ Constructor
+
+ Type/method/field resolver or null
+
+
+
+ Constructor
+
+ Assembly resolver or null
+ Type/method/field resolver or null
+
+
+
+ creation options
+
+
+
+
+ Module context
+
+
+
+
+ PDB reader options
+
+
+
+
+ Set it to A) the path (string) of the PDB file, B) the data (byte[]) of the PDB file or
+ C) to an of the PDB data. The will
+ be owned by the module. You don't need to initialize
+
+
+
+
+ If true, will load the PDB file from disk if present, or an embedded portable PDB file
+ stored in the PE file. The default value is true.
+ You don't need to initialize .
+
+
+
+
+ corlib assembly reference to use or null if the default one from the opened
+ module should be used.
+
+
+
+
+ Runtime reader kind, default is . It should be
+ set to if it's an obfuscated Mono/Unity assembly.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Module context
+
+
+
+ Constructor
+
+ Runtime reader kind, default is . It should be
+ set to if it's an obfuscated Mono/Unity assembly.
+
+
+
+ Constructor
+
+ Module context
+ Runtime reader kind, default is . It should be
+ set to if it's an obfuscated Mono/Unity assembly.
+
+
+
+ Runtime reader kind
+
+
+
+
+ Microsoft's CLRs (.NET Framework, .NET Core)
+
+
+
+
+ Mono's CLR (Mono, Unity)
+
+
+
+
+ A high-level representation of a row in the Module table
+
+
+
+ Default characteristics
+
+
+ Default DLL characteristics
+
+
+
+ The row id in its table
+
+
+
+
+ Initialize this in the ctor
+
+
+
+
+ PDB state
+
+
+
+
+ Array of last used rid in each table. I.e., next free rid is value + 1
+
+
+
+ Module context
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets/sets a user value. This is never used by dnlib. This property isn't thread safe.
+
+
+
+
+
+
+
+
+
+
+ Gets/sets Module.Generation column
+
+
+
+
+
+
+
+ Gets/sets Module.Name column
+
+
+
+ Name
+
+
+
+ Gets/sets Module.Mvid column
+
+
+
+
+
+
+
+ Gets/sets Module.EncId column
+
+
+
+
+
+
+
+ Gets/sets Module.EncBaseId column
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the module's assembly. To set this value, add this
+ to .
+
+
+
+
+
+
+
+ Gets a list of all non-nested s. See also
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets a list of all s
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the native entry point. Only one of and
+ can be set. You write to one and the other one gets cleared.
+
+
+
+
+ Gets/sets the managed entry point. Only one of and
+ can be set. You write to one and the other one gets cleared.
+
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Called to initialize
+
+
+
+
+
+
+ Gets/sets the entry point method
+
+
+
+
+ true if is non-zero
+
+
+
+
+ true if is non-null
+
+
+
+
+ true if is non-null
+
+
+
+
+ Gets a list of all s
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the . This is null if there are no
+ vtable fixups.
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+
+
+
+ Gets/sets the path of the module or an empty string if it wasn't loaded from disk
+
+
+
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the instance
+
+
+
+
+ Gets/sets the module context. This is never null.
+
+
+
+
+ If true, the cache is enabled. The cache is used by
+ and to find types.
+
+ IMPORTANT: Only enable the cache if this module's types keep their exact
+ name, namespace, and declaring type and if no type is either added or
+ removed from or from any type that is reachable from the
+ top-level types in (i.e., any type owned by this module).
+ This is disabled by default. When disabled, all calls to
+ and will result in a slow O(n) (linear) search.
+
+
+
+
+
+ true if this is the manifest (main) module
+
+
+
+
+ Gets the global (aka. <Module>) type or null if there are no types
+
+
+
+
+ true if it's the core library module, false if it's not the core library module,
+ and null if it's not known.
+
+
+
+
+ Gets/sets the Win32 resources
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ Gets the . This is null if no PDB file
+ has been loaded or if no PDB file could be found.
+
+
+
+
+ Module kind
+
+
+
+
+ Gets/sets the characteristics (from PE file header)
+
+
+
+
+ Gets/sets the DLL characteristics (from PE optional header)
+
+
+
+
+ Gets/sets the runtime version which is stored in the metadata header.
+ See .
+
+ Not thread safe
+
+
+
+ Gets the WinMD status
+
+ Not thread safe
+
+
+
+ true if this is a WinMD file
+
+
+
+
+ true if this is a managed WinMD file
+
+
+
+
+ true if this is a pure (non-managed) WinMD file
+
+
+
+
+ Gets the CLR runtime version of the managed WinMD file or null if none. This is
+ similar to for normal non-WinMD files.
+
+ Not thread safe
+
+
+
+ Gets the WinMD version or null if none
+
+ Not thread safe
+
+
+
+ true if is the CLR v1.0 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v1.0 string
+
+
+
+
+ true if is the CLR v1.1 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v1.1 string
+
+
+
+
+ true if is the CLR v1.0 or v1.1 string (only the
+ major and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v1.0 or v1.1 string
+
+
+
+
+ true if is the CLR v2.0 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v2.0 string
+
+
+
+
+ true if is the CLR v4.0 string (only the major
+ and minor version numbers are checked)
+
+
+
+
+ true if is the CLR v4.0 string
+
+
+
+
+ true if is the ECMA 2002 string
+
+
+
+
+ true if is the ECMA 2005 string
+
+
+
+
+ Gets/sets the (from PE header)
+
+
+
+
+ true if is , , ...
+
+
+
+
+ true if is
+
+
+
+
+ true if is , , ...
+
+
+
+
+ true if is , , ...
+
+
+
+
+ true if is , , ...
+
+
+
+
+ Gets/sets the (from .NET header)
+
+
+
+
+
+
+
+ Gets/sets the runtime version number in the COR20 header. The major version is
+ in the high 16 bits. The minor version is in the low 16 bits. This is normally 2.5
+ (0x00020005), but if it's .NET 1.x, it should be 2.0 (0x00020000). If this is
+ null, the default value will be used when saving the module (2.0 if CLR 1.x,
+ and 2.5 if not CLR 1.x).
+
+
+
+
+ Gets the tables header version. The major version is in the upper 8 bits and the
+ minor version is in the lower 8 bits. .NET 1.0/1.1 use version 1.0 (0x0100) and
+ .NET 2.x and later use version 2.0 (0x0200). 1.0 has no support for generics,
+ 1.1 has support for generics (GenericParam rows have an extra Kind column),
+ and 2.0 has support for generics (GenericParam rows have the standard 4 columns).
+ No other version is supported. If this is null, the default version is
+ used (1.0 if .NET 1.x, else 2.0).
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Gets all the types (including nested types) present in this module
+
+
+
+
+ Adds as a non-nested type. If it's already nested, its
+ will be set to null.
+
+ The to insert
+
+
+
+ Updates the rid to the next free rid available. It's only updated if
+ the original rid is 0.
+
+ IMDTokenProvider
+ The row that should be updated
+ Returns the input
+
+
+
+ Updates the rid to the next free rid available.
+
+ IMDTokenProvider
+ The row that should be updated
+ Returns the input
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The field
+ The imported field or null if is invalid
+ or if we failed to import the field
+
+
+
+ Imports a as a . This will be either
+ a or a .
+
+ The method
+ The imported method or null if is invalid
+ or if we failed to import the method
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a as a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The type
+ The imported type or null
+
+
+
+ Imports a
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a as a
+
+ The field
+ The imported type or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a as a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The method
+ The imported method or null if is invalid
+
+
+
+ Imports a
+
+ The member ref
+ The imported member ref or null if is invalid
+
+
+
+ Writes the module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+
+
+
+ Writes the module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+ Writer options
+
+
+
+ Writes the module to a stream.
+
+ Destination stream
+
+
+
+ Writes the module to a stream.
+
+ Destination stream
+ Writer options
+
+
+
+ Resets the cache which can be enabled by setting
+ to true. Use this method if the cache is
+ enabled but some of the types have been modified (eg. removed, added, renamed).
+
+
+
+
+ Finds a
+
+ Type
+ Name
+ Language ID
+ The or null if none found
+
+
+
+ Creates a new
+
+ PDB file kind
+
+
+
+ Sets a
+
+ New
+
+
+
+ Returns the size of a pointer. Assumes it's 32-bit if pointer size is unknown or
+ if it can be 32-bit or 64-bit.
+
+ Size of a pointer (4 or 8)
+
+
+
+ Returns the size of a pointer
+
+ Default pointer size if it's not known or if it
+ can be 32-bit or 64-bit
+ Size of a pointer (4 or 8)
+
+
+
+ Returns the size of a pointer
+
+ Default pointer size
+ Pointer size if it's prefer-32-bit (should usually be 4)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Finds a . For speed, enable
+ if possible (read the documentation first).
+
+ Full name of the type (no assembly information)
+ true if it's a reflection name, and nested
+ type names are separated by a + character. If false, nested type names
+ are separated by a / character.
+ An existing or null if it wasn't found.
+
+
+
+ Finds a . Its scope (i.e., module or assembly) is ignored when
+ looking up the type. For speed, enable if possible
+ (read the documentation first).
+
+ The type ref
+ An existing or null if it wasn't found.
+
+
+
+ Finds a
+
+ The type
+ A or null if it wasn't found
+
+
+
+ Creates a new instance. There should normally only be one
+ instance shared by all s.
+
+ A new instance
+
+
+
+ Load everything in this module. All types, fields, asm refs, etc are loaded, all their
+ properties are read to make sure everything is cached.
+
+ Cancellation token or null
+
+
+
+
+
+
+ Resolves a token
+
+ The metadata token
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ A or null if is invalid
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Gets all s
+
+
+
+
+ Gets all s
+
+
+
+
+ Gets all s. s with generic parameters
+ aren't cached and a new copy is always returned.
+
+
+
+
+ Gets all s. s with generic parameters
+ aren't cached and a new copy is always returned.
+
+ Generic parameter context
+
+
+
+ Gets all s
+
+
+
+
+ Finds an assembly reference by name. If there's more than one, pick the one with
+ the greatest version number.
+
+ Simple name of assembly (eg. "mscorlib")
+ The found or null if there's no such
+ assembly reference.
+
+
+
+ Compare asm refs' version
+
+ First asm ref
+ New asm ref
+
+
+
+
+ A Module row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ is initialized to a random
+ Module nam
+
+
+
+ Constructor
+
+ Module name
+ Module version ID
+
+
+
+ Constructor
+
+ Module name
+ Module version ID
+ Corlib assembly ref or null
+
+
+
+ Created from a row in the Module table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Module row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Initialize fields from the raw Module row
+
+
+
+
+ Created from a row in the Module table
+
+
+
+ The file that contains all .NET metadata
+
+
+
+ Gets/sets the method decrypter
+
+
+
+
+ Gets/sets the string decrypter
+
+
+
+
+ Returns the .NET metadata interface
+
+
+
+
+ Returns the #~ or #- tables stream
+
+
+
+
+ Returns the #Strings stream
+
+
+
+
+ Returns the #Blob stream
+
+
+
+
+ Returns the #GUID stream
+
+
+
+
+ Returns the #US stream
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates a instance from a file
+
+ File name of an existing .NET module/assembly
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a file
+
+ File name of an existing .NET module/assembly
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a byte[]
+
+ Contents of a .NET module/assembly
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a byte[]
+
+ Contents of a .NET module/assembly
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module context or null
+ Image layout of the module in memory
+ A new instance
+
+
+
+ Creates a instance from a reflection module
+
+ An existing reflection module
+ Module creation options or null
+ Image layout of the module in memory
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance
+
+ PE image
+ A new instance
+
+
+
+ Creates a instance
+
+ PE image
+ Module context or null
+ A new instance
+
+
+
+ Creates a instance
+
+ PE image
+ Module creation options or null
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module context or null
+ Image layout of the file in memory
+ A new instance
+
+
+
+ Creates a instance from a memory location
+
+ Address of a .NET module/assembly
+ Module creation options or null
+ Image layout of the file in memory
+ A new instance
+
+
+
+ Creates a instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream (owned by caller)
+ A new instance
+ If is null
+
+
+
+ Creates a instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream (owned by caller)
+ Module context or null
+ A new instance
+ If is null
+
+
+
+ Creates a instance from a stream
+
+ This will read all bytes from the stream and call .
+ It's better to use one of the other Load() methods.
+ The stream (owned by caller)
+ Module creation options or null
+ A new instance
+ If is null
+
+
+
+ Creates a instance from a
+
+ The metadata
+ Module creation options or null
+ A new instance that now owns
+
+
+
+ Constructor
+
+ The metadata
+ Module creation options or null
+ If is null
+
+
+
+ Loads symbols using
+
+ PDB symbol reader
+
+
+
+ Loads symbols from a PDB file
+
+ PDB file name
+
+
+
+ Loads symbols from a PDB file
+
+ PDB reader options
+ PDB file name
+
+
+
+ Loads symbols from a byte array
+
+ PDB data
+
+
+
+ Loads symbols from a byte array
+
+ PDB reader options
+ PDB data
+
+
+
+ Loads symbols from a stream
+
+ PDB file stream which is now owned by us
+
+
+
+ Loads symbols from a stream
+
+ PDB reader options
+ PDB file stream which is now owned by us
+
+
+
+ Loads symbols if a PDB file is available
+
+
+
+
+ Loads symbols if a PDB file is available
+
+ PDB reader options
+
+
+
+ Finds a mscorlib
+
+ An existing instance or null if it wasn't found
+
+
+
+ Called when no corlib assembly reference was found
+
+
+
+
+
+
+
+
+ Resolves a token
+
+ The metadata token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves an
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ The row ID
+ Generic parameter context
+ A instance or null if is invalid
+
+
+
+ Resolves a
+
+ A TypeDefOrRef coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A TypeDefOrRef coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasConstant coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasCustomAttribute coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasCustomAttribute coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasFieldMarshal coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasDeclSecurity coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MemberRefParent coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MemberRefParent coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A HasSemantic coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MethodDefOrRef coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MethodDefOrRef coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A MemberForwarded coded token
+ A or null if is invalid
+
+
+
+ Resolves an
+
+ An Implementation coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A CustomAttributeType coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A CustomAttributeType coded token
+ Generic parameter context
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A ResolutionScope coded token
+ A or null if is invalid
+
+
+
+ Resolves a
+
+ A TypeOrMethodDef> coded token
+ A or null if is invalid
+
+
+
+ Reads a signature from the #Blob stream
+
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature from the #Blob stream
+
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ #Blob stream offset of signature
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a from the blob
+
+ Table of owner
+ Row ID of owner
+ Generic parameter context
+ A new instance or null if there's no field
+ marshal for this owner.
+
+
+
+ Reads a CIL method body
+
+ Method parameters
+ RVA
+ A new instance. It's empty if RVA is invalid (eg. 0 or
+ it doesn't point to a CIL method body)
+
+
+
+ Reads a CIL method body
+
+ Method parameters
+ RVA
+ Generic parameter context
+ A new instance. It's empty if RVA is invalid (eg. 0 or
+ it doesn't point to a CIL method body)
+
+
+
+ Returns the owner type of a field
+
+ The field
+ The owner type or null if none
+
+
+
+ Returns the owner type of a method
+
+ The method
+ The owner type or null if none
+
+
+
+ Returns the owner type of an event
+
+ The event
+ The owner type or null if none
+
+
+
+ Returns the owner type of a property
+
+ The property
+ The owner type or null if none
+
+
+
+ Returns the owner type/method of a generic param
+
+ The generic param
+ The owner type/method or null if none
+
+
+
+ Returns the owner generic param of a generic param constraint
+
+ The generic param constraint
+ The owner generic param or null if none
+
+
+
+ Returns the owner method of a param
+
+ The param
+ The owner method or null if none
+
+
+
+ Reads a module
+
+ File rid
+ The assembly owning the module we should read
+ A new instance or null if
+ is invalid or if it's not a .NET module.
+
+
+
+ Gets a list of all File rids that are .NET modules. Call
+ to read one of these modules.
+
+ A new instance
+
+
+
+ Concatenates the inputs and returns the result if it's a valid path
+
+ Base dir
+ File name
+ Full path to the file or null if one of the inputs is invalid
+
+
+
+ Gets the base directory where this .NET module is located on disk
+
+ Base directory or null if unknown or if an error occurred
+
+
+
+ Creates a instance
+
+ ManifestResource rid
+ A new instance
+
+
+
+ Reads a
+
+ Custom attribute rid
+ A new instance or null if
+ is invalid
+
+
+
+ Reads a
+
+ Custom attribute rid
+ Generic parameter context
+ A new instance or null if
+ is invalid
+
+
+
+ Reads data somewhere in the address space of the image
+
+ RVA of data
+ Size of data
+ All the data or null if or
+ is invalid
+
+
+
+ Gets the native entry point or 0 if none
+
+
+
+
+ Gets the managed entry point (a Method or a File) or null if none
+
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ A new instance
+
+
+
+ Reads a new instance. This one is not cached.
+
+ Row ID
+ Generic parameter context
+ A new instance
+
+
+
+ Reads a method body
+
+ Method
+ Method RVA
+ Method impl attrs
+ Generic parameter context
+ A or null if none
+
+
+
+ Updates with the PDB info (if any)
+
+ Owner method
+ Method body
+ Returns originak value
+
+
+
+ Reads a string from the #US heap
+
+ String token
+ A non-null string
+
+
+
+ Writes the mixed-mode module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+
+
+
+ Writes the mixed-mode module to a file on disk. If the file exists, it will be overwritten.
+
+ Filename
+ Writer options
+
+
+
+ Writes the mixed-mode module to a stream.
+
+ Destination stream
+
+
+
+ Writes the mixed-mode module to a stream.
+
+ Destination stream
+ Writer options
+
+
+
+ Reads data from the #Blob. The following columns are returned:
+ Field.Signature
+ Method.Signature
+ MemberRef.Signature
+ Constant.Value
+ CustomAttribute.Value
+ FieldMarshal.NativeType
+ DeclSecurity.PermissionSet
+ StandAloneSig.Signature
+ Property.Type
+ TypeSpec.Signature
+ Assembly.PublicKey
+ AssemblyRef.PublicKeyOrToken
+ File.HashValue
+ MethodSpec.Instantiation
+
+ A token
+ The value in the #Blob or null if is invalid
+
+
+
+ Module kind
+
+
+
+
+ Console UI module
+
+
+
+
+ Windows GUI module
+
+
+
+
+ DLL module
+
+
+
+
+ Netmodule (it has no assembly manifest)
+
+
+
+
+ A high-level representation of a row in the ModuleRef table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column ModuleRef.Name
+
+
+
+ Name
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ Gets the definition module, i.e., the module which it references, or null
+ if the module can't be found.
+
+
+
+
+ Gets the definition assembly, i.e., the assembly of the module it references, or
+ null if the assembly can't be found.
+
+
+
+
+
+
+
+
+
+
+ A ModuleRef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Constructor
+
+ Owner module
+ Module name
+
+
+
+ Created from a row in the ModuleRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this ModuleRef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Native types used by field marshals. See CorHdr.h/CorNativeType
+
+
+
+ Deprecated
+
+
+ void
+
+
+ bool
+
+
+ int8
+
+
+ unsigned int8
+
+
+ int16
+
+
+ unsigned int16
+
+
+ int32
+
+
+ unsigned int32
+
+
+ int64
+
+
+ unsigned int64
+
+
+ float32
+
+
+ float64
+
+
+ syschar
+
+
+ variant
+
+
+ currency
+
+
+ ptr
+
+
+ decimal
+
+
+ date
+
+
+ bstr
+
+
+ lpstr
+
+
+ lpwstr
+
+
+ lptstr
+
+
+ fixed sysstring
+
+
+ objectref
+
+
+ iunknown
+
+
+ idispatch
+
+
+ struct
+
+
+ interface
+
+
+ safearray
+
+
+ fixed array
+
+
+ int
+
+
+ uint
+
+
+ nested struct
+
+
+ byvalstr
+
+
+ ansi bstr
+
+
+ tbstr
+
+
+ variant bool
+
+
+ func
+
+
+ as any
+
+
+ array
+
+
+ lpstruct
+
+
+ custom marshaler
+
+
+ error
+
+
+ iinspectable
+
+
+ hstring
+
+
+ UTF-8 encoded string
+
+
+ first invalid element type
+
+
+ Value wasn't present in the blob
+
+
+ Raw marshal blob type
+
+
+
+ A resolver that always fails
+
+
+
+
+ The one and only instance of this type
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Parameter flags. See CorHdr.h/CorParamAttr
+
+
+
+ Param is [In]
+
+
+ Param is [out]
+
+
+ Param is a locale identifier
+
+
+ Param is a return value
+
+
+ Param is optional
+
+
+ Param has default value.
+
+
+ Param has FieldMarshal.
+
+
+
+ A high-level representation of a row in the Param table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the declaring method
+
+
+
+
+
+
+
+ From column Param.Flags
+
+
+
+ Attributes
+
+
+
+ From column Param.Sequence
+
+
+
+
+
+
+
+ From column Param.Name
+
+
+
+ Name
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if is not null
+
+
+
+
+ Gets the constant element type or if there's no constant
+
+
+
+
+ true if is not null
+
+
+
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ A Param row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Sequence
+
+
+
+ Constructor
+
+ Name
+ Sequence
+ Flags
+
+
+
+ Created from a row in the Param table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Param row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ A list of all method parameters
+
+
+
+
+ Gets the owner method
+
+
+
+
+ Gets the number of parameters, including a possible hidden 'this' parameter
+
+
+
+
+ Gets the index of the first parameter that is present in the method signature.
+ If this is a static method, the value is 0, else it's an instance method so the
+ index is 1 since the first parameter is the hidden 'this' parameter.
+
+
+
+
+ Gets the N'th parameter
+
+ The parameter index
+
+
+
+ Gets the method return parameter
+
+
+
+
+ Constructor
+
+ The method with all parameters
+ 's declaring type
+
+
+
+ Should be called when the method's declaring type has changed
+
+ Method declaring type
+
+
+
+ Should be called when the method sig has changed
+
+
+
+
+
+
+
+ Enumerator
+
+
+
+
+ Gets the current value
+
+
+
+
+ Moves to the next element in the collection
+
+
+
+
+
+ Disposes the enumerator
+
+
+
+
+ Gets the list enumerator
+
+
+
+
+
+ A method parameter
+
+
+
+
+ The hidden 'this' parameter's
+
+
+
+
+ The return type parameter's
+
+
+
+
+ Gets the parameter index. If the method has a hidden 'this' parameter, that parameter
+ has index 0 and the remaining parameters in the method signature start from index 1.
+ The method return parameter has index -1.
+
+
+
+
+ Gets the index of the parameter in the method signature. See also
+ and
+
+
+
+
+ true if it's a normal visible method parameter, i.e., it's not the hidden
+ 'this' parameter and it's not the method return type parameter.
+
+
+
+
+ true if it's the hidden 'this' parameter
+
+
+
+
+ true if it's the method return type parameter
+
+
+
+
+ Gets the parameter type
+
+
+
+
+ Gets the owner method
+
+
+
+
+ Gets the or null if not present
+
+
+
+
+ true if it has a
+
+
+
+
+ Gets the name from . If is null,
+ an empty string is returned.
+
+
+
+
+ Constructor
+
+ Parameter index
+
+
+
+ Constructor
+
+ Parameter index
+ Parameter type
+
+
+
+ Constructor
+
+ Parameter index (0 is hidden this param if it exists)
+ Index in method signature
+
+
+
+ Constructor
+
+ Parameter index (0 is hidden this param if it exists)
+ Index in method signature
+ Parameter type
+
+
+
+ Creates a if it doesn't already exist
+
+
+
+
+
+
+
+ Custom debug info guids
+
+
+
+
+ Implements and uses a as the underlying
+ stream.
+
+
+
+
+ Constructor
+
+ Source stream
+
+
+
+ Constructor
+
+ Source stream
+ Name of original file or null if unknown.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IMAGE_DEBUG_DIRECTORY
+
+
+
+
+ An address in the image
+
+
+
+
+ Section
+
+
+
+
+ Offset in
+
+
+
+
+ Constructor
+
+ Section
+ Offset in
+
+
+
+ Constructor
+
+ Section
+ Offset in
+
+
+
+ Returns true if is less than or equal to
+
+ First
+ Second
+
+
+
+
+ Returns true if is less than
+
+ First
+ Second
+
+
+
+
+ Returns true if is greater than or equal to
+
+ First
+ Second
+
+
+
+
+ Returns true if is greater than
+
+ First
+ Second
+
+
+
+
+ Returns true if is equal to
+
+ First
+ Second
+
+
+
+
+ Returns true if is not equal to
+
+ First
+ Second
+
+
+
+
+ Compares this instance with and returns less than 0 if it's
+ less than , 0 if it's equal to and
+ greater than 0 if it's greater than
+
+ Other instance
+
+
+
+
+ Compares this to another instance
+
+ The other one
+ true if they're equal
+
+
+
+ Compares this to another instance
+
+ The other one
+ true if they're equal
+
+
+
+ Gets the hash code
+
+ Hash code
+
+
+
+ ToString() override
+
+
+
+
+
+ Reads a 32-bit offset followed by a 16-bit section and creates a new
+
+ Reader
+
+
+
+
+ Exception that is thrown when encounters an error.
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Inner exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ A managed PDB reader implementation for .NET modules.
+
+
+
+
+ Read the PDB in the specified stream.
+
+ PDB file data reader
+
+
+
+ Creates a instance
+
+
+
+
+ Creates a new instance
+
+ PDB context
+ PDB file stream which is now owned by this method
+ A new instance or null.
+
+
+
+ A constant in a method scope, eg. "const int SomeConstant = 123;"
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the type of the constant
+
+
+
+
+ Gets/sets the value of the constant
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Name of constant
+ Type of constant
+ Constant value
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ ToString()
+
+
+
+
+
+ Custom debug info kind
+
+ See CustomDebugInfoKind in Roslyn source code
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base class of custom debug info added to the PDB file by the compiler
+
+
+
+
+ Gets the custom debug info kind
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Unknown custom debug info. If you see an instance of this class, you're using an old dnlib version or
+ dnlib hasn't been updated to support this new custom debug info kind.
+
+
+
+
+ Gets the custom debug info kind
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the data
+
+
+
+
+ Constructor
+
+ Custom debug info kind
+ Raw custom debug info data
+
+
+
+ Constructor
+
+ Custom debug info guid
+ Raw custom debug info data
+
+
+
+ Contains sizes of using groups
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the using counts
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains a reference to another method that contains the import strings
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the referenced method
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ The referenced method
+
+
+
+ Contains a reference to another method that contains the per-module debug info (assembly reference aliases)
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the referenced method
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ The referenced method
+
+
+
+ State machine hosted local scope info
+
+
+
+
+ true if it's a syntesized local ( and are both null)
+
+
+
+
+ The instruction of the first operation in the scope. Can be null if it's a synthesized local
+
+
+
+
+ The instruction of the first operation outside of the scope or null if it ends at the last instruction in the body.
+ Can also be null if it's a synthesized local (in which case is also null, see )
+
+
+
+
+ Constructor
+
+ Start of the scope
+ First instruction after the end of the scope
+
+
+
+ Contains local scopes for state machine hoisted local variables.
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the scopes
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains the state machine type
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the state machine type
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ State machine type
+
+
+
+ Contains dynamic flags for local variables and constants
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the dynamic locals
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Dynamic local info
+
+
+
+
+ Gets the dynamic flags
+
+
+
+
+ Gets/sets the name of the local. The name must have at most 64 characters and no char can be NUL (0x0000).
+ If null is written, is returned instead.
+
+
+
+
+ true if it's a constant and not a variable ( is null)
+
+
+
+
+ true if it's a variable ( is not null)
+
+
+
+
+ Gets/sets the local. Could be null if there's no local (it's a 'const' local).
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains the EnC local variable slot map
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the data. Spec: https://github.com/dotnet/corefx/blob/master/src/System.Reflection.Metadata/specs/PortablePdb-Metadata.md#EditAndContinueLocalSlotMap
+
+
+
+
+ Constructor
+
+ Raw custom debug info data
+
+
+
+ Contains the EnC lambda map
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the data. Spec: https://github.com/dotnet/corefx/blob/master/src/System.Reflection.Metadata/specs/PortablePdb-Metadata.md#EditAndContinueLambdaAndClosureMap
+
+
+
+
+ Constructor
+
+ Raw custom debug info data
+
+
+
+ Contains tuple element names for local variables and constants
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the tuple element names
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Tuple element name info
+
+
+
+
+ Gets/sets the name of the local. If null is written, is returned instead.
+
+
+
+
+ Gets/sets the local. It's null if it's a constant, and non-null if it's a variable
+
+
+
+
+ true if it's a constant. Constants have a scope ( and )
+
+
+
+
+ true if it's a variable. Variables don't have a scope ( and )
+
+
+
+
+ Gets/sets the start of the scope or null. Only constants have a scope.
+
+
+
+
+ Gets/sets the end of the scope or null if it has no scope or if the scope ends at the end of the body. Only constants have a scope.
+
+
+
+
+ Gets the tuple element names
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Contains tuple element names for local variables and constants
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the tuple element names
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Initial capacity of
+
+
+
+ Async method stepping info
+
+ It's internal and translated to a
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the catch handler instruction or null
+
+
+
+
+ Gets all async step infos
+
+
+
+
+ Constructor
+
+
+
+
+ Default namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the default namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Default namespace
+
+
+
+ Dynamic flags
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the dynamic flags
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Dynamic flags
+
+
+
+ Contains the source code
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the source code blob.
+
+ It's not decompressed and converted to a string because the encoding isn't specified.
+
+ https://github.com/dotnet/corefx/blob/master/src/System.Reflection.Metadata/specs/PortablePdb-Metadata.md#embedded-source-c-and-vb-compilers
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Source code blob
+
+
+
+ Contains the source link file
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the source link file contents
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Source link file contents
+
+
+
+ Contains the source server file
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the source server file contents
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Source server file contents
+
+
+
+ Async method info
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets/sets the starting method that initiates the async operation
+
+
+
+
+ Gets/sets the instruction for the compiler generated catch handler that wraps an async method.
+ This can be null.
+
+
+
+
+ Gets all step infos used by the debugger
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Default capacity for
+
+
+
+ Async step info used by debuggers
+
+
+
+
+ The yield instruction
+
+
+
+
+ Resume method
+
+
+
+
+ Resume instruction (where the debugger puts a breakpoint)
+
+
+
+
+ Constructor
+
+ The yield instruction
+ Resume method
+ Resume instruction (where the debugger puts a breakpoint)
+
+
+
+ Iterator method
+
+
+
+
+ Returns
+
+
+
+
+ Gets the custom debug info guid, see
+
+
+
+
+ Gets the kickoff method
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Kickoff method
+
+
+
+ A PDB document
+
+
+
+
+ Gets/sets the document URL
+
+
+
+
+ Gets/sets the language GUID. See
+
+
+
+
+ Gets/sets the language vendor GUID. See
+
+
+
+
+ Gets/sets the document type GUID. See
+
+
+
+
+ Gets/sets the checksum algorithm ID. See
+
+
+
+
+ Gets/sets the checksum
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ A instance
+
+
+
+ Constructor
+
+ Document URL
+ Language. See
+ Language vendor. See
+ Document type. See
+ Checksum algorithm ID. See
+ Checksum
+
+
+
+
+
+
+
+
+
+ PDB document constants
+
+
+
+
+ PDB file kind
+
+
+
+
+ Windows PDB
+
+
+
+
+ Portable PDB
+
+
+
+
+ Embedded portable PDB
+
+
+
+
+ Import scope
+
+
+
+
+ Constructor
+
+
+
+
+ Gets/sets the parent import scope
+
+
+
+
+ Gets all imports
+
+
+
+
+ true if is not empty
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Import kind
+
+
+
+
+ PDB import base class
+
+
+
+
+ Gets the import kind
+
+
+
+
+ Import namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Import assembly, namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the target assembly
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Import type
+
+
+
+
+ Returns
+
+
+
+
+ Gets the target type
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Import xml namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Import assembly reference alias
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Alias assembly reference
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target assembly
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Alias namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Alias assembly namespace
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target assembly
+
+
+
+
+ Gets the target namespace
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Alias type
+
+
+
+
+ Returns
+
+
+
+
+ Gets the alias
+
+
+
+
+ Gets the target type
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ A local variable
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Gets/sets the local
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the attributes
+
+
+
+
+ Gets the index of the local
+
+
+
+
+ true if it should be hidden in debugger variables windows. Not all compiler generated locals have this flag set.
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Local attributes
+
+
+
+
+ No bit is set
+
+
+
+
+ Local should be hidden in debugger variables windows. Not all compiler generated locals have this flag set.
+
+
+
+
+ A PDB method
+
+
+
+
+ Gets/sets the root scope. It contains all scopes of the method, using namespaces, variables and constants
+
+
+
+
+ Constructor
+
+
+
+
+ PDB reader options
+
+
+
+
+ No bit is set
+
+
+
+
+ Use the COM Windows PDB reader instead of the managed Windows PDB reader.
+
+ This is NOT recommended since the COM reader can only be called on the same
+ thread it was created on. It also requires a Windows OS.
+
+ If this is not set, the managed PDB reader will be used.
+
+ This option is only used if it's a Windows PDB file, not if it's a Portable PDB file.
+
+
+
+
+ Don't use Microsoft.DiaSymReader.Native. This is a NuGet package with an updated Windows PDB reader/writer implementation,
+ and if it's available at runtime, dnlib will try to use it. If this option is set, dnlib won't use it.
+ You have to add a reference to the NuGet package if you want to use it, dnlib has no reference to the NuGet package.
+
+ Only used if is set and if it's a Windows PDB file
+
+
+
+
+ Don't use diasymreader.dll's PDB reader that is shipped with .NET Framework.
+
+ Only used if is set and if it's a Windows PDB file
+
+
+
+
+ A PDB scope
+
+
+
+
+ Constructor
+
+
+
+
+ Gets/sets the first instruction
+
+
+
+
+ Gets/sets the last instruction. It's null if it ends at the end of the method.
+
+
+
+
+ Gets all child scopes
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all locals in this scope
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all namespaces (Windows PDBs). Portable PDBs use
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets/sets the import scope (Portable PDBs). Windows PDBs use
+
+
+
+
+ Gets all constants
+
+
+
+
+ true if is not empty
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ PDB state for a
+
+
+
+
+ Gets/sets the PDB file kind. You can change it from portable PDB to embedded portable PDB
+ and vice versa. Converting a Windows PDB to a portable PDB isn't supported.
+
+
+
+
+ Gets/sets the user entry point method.
+
+
+
+
+ Gets all PDB documents
+
+
+
+
+ true if is not empty
+
+
+
+
+ Constructor
+
+ Module
+ PDB file kind
+
+
+
+ Constructor
+
+ A instance
+ Owner module
+
+
+
+ Adds
+
+ New document
+ if it wasn't inserted, or the already existing document
+ if it was already inserted.
+
+
+
+ Removes
+
+ Document
+ true if it was removed, false if it wasn't inserted.
+
+
+
+ Returns an inserted instance or null if it's not been
+ inserted yet.
+
+ A PDB document
+ The existing or null if it doesn't exist.
+
+
+
+ Removes all documents
+
+
+
+
+
+ Removes all documents and optionally returns them
+
+ true if all the original s
+ should be returned.
+ All s if is true
+ or null if is false.
+
+
+
+ Constructor
+
+ Module that resolves assembly and type references
+ Portable PDB blob stream
+
+
+
+ PDB sequence point
+
+
+
+
+ PDB document
+
+
+
+
+ Start line
+
+
+
+
+ Start column
+
+
+
+
+ End line
+
+
+
+
+ End column
+
+
+
+
+ Clones this instance
+
+ A new cloned instance
+
+
+
+ Async step info
+
+
+
+
+ Yield offset
+
+
+
+
+ Breakpoint offset
+
+
+
+
+ Breakpoint method token
+
+
+
+
+ Constructor
+
+ Yield offset
+ Breakpoint offset
+ Breakpoint method token
+
+
+
+ A document
+
+
+
+
+ Gets the URL
+
+
+
+
+ Gets the language
+
+
+
+
+ Gets the language vendor
+
+
+
+
+ Gets the document type
+
+
+
+
+ Gets the checksum algorithm id
+
+
+
+
+ Gets the checksum
+
+
+
+
+ Gets the custom debug infos
+
+
+
+
+ A method
+
+
+
+
+ Gets the method token
+
+
+
+
+ Gets the root scope
+
+
+
+
+ Gets all sequence points
+
+
+
+
+ Reads custom debug info
+
+ Method
+ Method body
+ Updated with custom debug info
+
+
+
+ A namespace
+
+
+
+
+ Gets the name
+
+
+
+
+ Reads symbols from a PDB file
+
+
+
+
+ Called by the owner module before any other methods and properties are called
+
+ Owner module
+
+
+
+ Gets the PDB file kind
+
+
+
+
+ Gets the user entry point token or 0 if none
+
+
+
+
+ Gets all documents
+
+
+
+
+ Gets a method or returns null if the method doesn't exist in the PDB file
+
+ Method
+ Edit and continue version. The first version is 1
+
+
+
+
+ Reads custom debug info
+
+ Token of a instance
+ Generic parameter context
+ Updated with custom debug info
+
+
+
+ Cleans up resources
+
+
+
+
+ A scope
+
+
+
+
+ Gets the method
+
+
+
+
+ Gets the parent scope
+
+
+
+
+ Gets the start offset of the scope in the method
+
+
+
+
+ Gets the end offset of the scope in the method
+
+
+
+
+ Gets all child scopes
+
+
+
+
+ Gets all locals defined in this scope
+
+
+
+
+ Gets all namespaces in this scope
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Gets the import scope or null if none
+
+
+
+
+ Gets all the constants
+
+ Owner module if a signature must be read from the #Blob
+ Generic parameter context
+
+
+
+
+ Sequence point
+
+
+
+
+ IL offset
+
+
+
+
+ Document
+
+
+
+
+ Start line
+
+
+
+
+ Start column
+
+
+
+
+ End line
+
+
+
+
+ End column
+
+
+
+
+ A variable
+
+
+
+
+ Gets the name
+
+
+
+
+ Gets the attributes
+
+
+
+
+ Gets the index of the variable
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+ Reads custom debug infos produced by the C# and Visual Basic compilers. They're stored in PDB files
+ as PDB method custom attributes with the name "MD2".
+
+
+
+
+ Reads custom debug info
+
+ Method
+ The method's body. Needs to be provided by the caller since we're called from
+ PDB-init code when the Body property hasn't been initialized yet
+ Place all custom debug info in this list
+ Custom debug info from the PDB file
+
+
+
+ Writes custom debug infos produced by the C# and Visual Basic compilers. They're stored in PDB files
+ as PDB method custom attributes with the name "MD2".
+
+
+
+
+ Returns the raw custom debug info or null if there was an error
+
+ Metadata
+ Writer context
+ Method
+ Custom debug infos to write
+
+
+
+
+
+
+
+ P/Invoke attributes, see CorHdr.h/CorPinvokeMap
+
+
+
+ Pinvoke is to use the member name as specified.
+
+
+ Use this mask to retrieve the CharSet information.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Information about target function. Not relevant for fields.
+
+
+
+
+
+ Pinvoke will use native callconv appropriate to target windows platform.
+
+
+
+
+
+
+
+
+
+
+
+ In M9, pinvoke will raise exception.
+
+
+
+
+
+
+ Property attributes, see CorHdr.h/CorPropertyAttr
+
+
+
+ property is special. Name describes how.
+
+
+ Runtime(metadata internal APIs) should check name encoding.
+
+
+ Property has default
+
+
+
+ A high-level representation of a row in the Property table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column Property.PropFlags
+
+
+
+ Attributes
+
+
+
+ From column Property.Name
+
+
+
+ Name
+
+
+
+ From column Property.Type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the first getter method. Writing null will clear all get methods.
+
+
+
+
+ Gets/sets the first setter method. Writing null will clear all set methods.
+
+
+
+
+ Gets all getter methods
+
+
+
+
+ Gets all setter methods
+
+
+
+
+ Gets the other methods
+
+
+
+
+ Initializes , ,
+ and .
+
+
+
+
+
+
+
+
+
+
+
+
+ Reset , ,
+
+
+
+ true if there are no methods attached to this property
+
+
+
+
+
+
+
+ true if is not empty
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets the constant element type or if there's no constant
+
+
+
+
+ Gets/sets the property sig
+
+
+
+
+ Gets/sets the declaring type (owner type)
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+
+ Gets the full name of the property
+
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+
+
+
+ A Property row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Name
+ Property signature
+
+
+
+ Constructor
+
+ Name
+ Property signature
+ Flags
+
+
+
+ Created from a row in the Property table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this Property row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+
+
+
+ Represents a public key
+
+
+
+
+ Gets the
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Public key data
+
+
+
+ Constructor
+
+ Public key data as a hex string or the string "null"
+ to set public key data to null
+
+
+
+
+
+
+
+
+
+ Public key / public key token base class
+
+
+
+
+ The key data
+
+
+
+
+ Returns true if is null or empty
+
+
+
+
+ Returns true if is null
+
+
+
+
+ Gets/sets key data
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+ Key data
+
+
+
+ Constructor
+
+ Key data as a hex string or the string "null"
+ to set key data to null
+
+
+
+ Checks whether a public key or token is null or empty
+
+ Public key or token instance
+
+
+
+ Returns a
+
+ A or a instance
+
+
+
+ Compares two s as s
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two public key tokens are equal
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Compares two s
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two public key tokens are equal
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Gets the public key token hash code
+
+ Public key or token
+ The hash code
+
+
+
+ Gets the public key token hash code
+
+ Public key token
+ The hash code
+
+
+
+ Creates a
+
+ Public key data or null
+ A new instance or null if
+ was null
+
+
+
+ Creates a
+
+ Public key token data or null
+ A new instance or null if
+ was null
+
+
+
+ Gets the raw public key / public key token byte array
+
+ The instance or null
+ Raw public key / public key token data or null
+
+
+
+
+
+
+ Represents a public key token
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Recursion counter
+
+
+
+
+ Max recursion count. If this is reached, we won't continue, and will use a default value.
+
+
+
+
+ Gets the recursion counter
+
+
+
+
+ Increments if it's not too high. ALL instance methods
+ that can be called recursively must call this method and
+ (if this method returns true)
+
+ true if it was incremented and caller can continue, false if
+ it was not incremented and the caller must return to its caller.
+
+
+
+ Must be called before returning to caller if
+ returned true.
+
+
+
+
+
+
+
+ Extension methods for reflection types, methods, fields
+
+
+
+
+ Checks whether it's a
+
+ The type
+
+
+
+ Gets a 's
+
+ The type
+ The type's element type
+
+
+
+ Returns true if is a generic method, but
+ not a generic method definition, i.e., a MethodSpec.
+
+ The method
+
+
+
+ Checks whether a parameter/prop/event type should be treated as if it is really a
+ generic instance type and not a generic type definition. In the .NET metadata (method
+ sig), the parameter is a generic instance type, but the CLR treats it as if it's just
+ a generic type def. This seems to happen only if the parameter type is exactly the same
+ type as the declaring type, eg. a method similar to: MyType<!0> MyType::SomeMethod().
+
+ Declaring type of method/event/property
+ Parameter/property/event type
+
+
+
+ Checks whether is a type definition and not a type spec
+ (eg. pointer or generic type instantiation)
+
+ this
+
+
+
+ Resolve exception base class
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Thrown if an assembly couldn't be resolved
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Thrown if a type couldn't be resolved
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Thrown if a method/field couldn't be resolved
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Resolves types, methods, fields
+
+
+
+
+ true to project WinMD types to CLR types, eg. Windows.UI.Xaml.Interop.TypeName
+ gets converted to System.Type before trying to resolve the type. This is enabled
+ by default.
+
+
+
+
+ Constructor
+
+ The assembly resolver
+
+
+
+
+
+
+
+
+
+ Type of resource
+
+
+
+
+ It's a
+
+
+
+
+ It's a
+
+
+
+
+ It's a
+
+
+
+
+ Resource base class
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the offset of the resource
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Gets/sets the flags
+
+
+
+
+ Gets the type of resource
+
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Constructor
+
+ Name
+ flags
+
+
+
+ A resource that is embedded in a .NET module. This is the most common type of resource.
+
+
+
+
+ Gets the length of the data
+
+
+
+
+
+
+
+ Constructor
+
+ Name of resource
+ Resource data
+ Resource flags
+
+
+
+ Constructor
+
+ Name of resource
+ Data reader factory
+ Offset of resource data
+ Length of resource data
+ Resource flags
+
+
+
+ Gets a data reader that can access the resource
+
+
+
+
+
+
+
+
+ A reference to a resource in another assembly
+
+
+
+
+
+
+
+ Gets/sets the assembly reference
+
+
+
+
+ Constructor
+
+ Name of resource
+ Assembly reference
+ Resource flags
+
+
+
+
+
+
+ A resource that is stored in a file on disk
+
+
+
+
+
+
+
+ Gets/sets the file
+
+
+
+
+ Gets/sets the hash
+
+
+
+
+ Gets/sets the file name
+
+
+
+
+ Constructor
+
+ Name of resource
+ The file
+ Resource flags
+
+
+
+
+
+
+ A collection of s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ List listener
+
+
+
+ Constructor
+
+ Initial length of the list
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ Finds the index of a resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds the index of an embedded resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds the index of an assembly linked resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds the index of a linked resource
+
+ Name of resource
+ The index of the or -1 if none was found
+
+
+
+ Finds a resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Finds an embedded resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Finds an assembly linked resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Finds a linked resource
+
+ Name of resource
+ The or null if none was found
+
+
+
+ Built-in resource data
+
+
+
+
+ Gets the data
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Type of data
+ Data
+
+
+
+
+
+
+
+
+
+ Implemented by all resource data
+
+
+
+
+ Gets the type of data
+
+
+
+
+ Start offset of the section in the file
+
+
+
+
+ End offset of the section in the file. This is one byte after the last
+ valid offset in the section.
+
+
+
+
+ Writes the data
+
+ Writer
+ Formatter if needed by implementer
+
+
+
+ Creates resource data
+
+
+
+
+ Gets the owner module
+
+
+
+
+ Constructor
+
+ Owner module
+
+
+
+ Gets number of user data types
+
+
+
+
+ Create null data
+
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates array data
+
+ Value
+
+
+
+
+ Creates data
+
+ Value
+
+
+
+
+ Creates serialized data
+
+ Serialized data
+ Type of serialized data
+
+
+
+
+ Creates serialized data
+
+ Serialized data
+
+
+
+
+ Creates a user type. If the type already exists, the existing value is returned.
+
+ Full name of type
+
+
+
+
+ Creates a user type. If the type already exists, the existing value is returned.
+
+ Full name of type
+ Use without converting it to a
+ type in an existing assembly reference
+
+
+
+
+ Converts an assembly simple name (eg. mscorlib) to the full name of the assembly,
+ which includes the version, public key token, etc. Returns null if it's
+ unknown.
+
+ Simple name of assembly
+
+
+
+
+ Gets all types sorted by
+
+
+
+
+
+ Resource element
+
+
+
+
+ Name of resource
+
+
+
+
+ Data of resource
+
+
+
+
+
+
+
+ Resource element set
+
+
+
+
+ Gets the number of elements in the set
+
+
+
+
+ Gets all resource elements
+
+
+
+
+ Adds a new resource to the set, overwriting any existing resource
+
+
+
+
+
+ Thrown by
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ Message
+
+
+
+ Constructor
+
+
+
+
+
+
+ Gets called to create a from serialized data. Returns null
+ if a default instance should be created.
+
+ ResourceDataFactory
+ Serialized type
+ Serialized data
+
+
+
+
+ Reads .NET resources
+
+
+
+
+ Returns true if it's possibly resources file data
+
+ Reader
+
+
+
+
+ Reads a .NET resource
+
+ Owner module
+ Data of resource
+
+
+
+
+ Reads a .NET resource
+
+ Owner module
+ Data of resource
+ Call back that gets called to create a instance. Can be null.
+
+
+
+
+ Type of resource
+
+
+
+
+ null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ array
+
+
+
+
+
+
+
+
+
+ Start of user types
+
+
+
+
+ Writes .NET resources
+
+
+
+
+ Write .NET resources
+
+ Owner module
+ Output stream
+ .NET resources
+
+
+
+ Base class of all user data
+
+
+
+
+ Full name including assembly of type
+
+
+
+
+ User type code
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ User resource type
+
+
+
+
+
+
+ Binary data
+
+
+
+
+ Gets the raw data
+
+
+
+
+ Constructor
+
+ User resource type
+ Raw serialized data
+
+
+
+
+
+
+
+
+
+ User resource type
+
+
+
+
+ Full name including assembly of type
+
+
+
+
+ User type code
+
+
+
+
+ Constructor
+
+ Full name including assembly of type
+ User type code
+
+
+
+
+
+
+ Security action. See CorHdr.h/CorDeclSecurity
+
+
+
+ Mask allows growth of enum.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Persisted grant set at prejit time
+
+
+ Persisted grant set at prejit time
+
+
+ Persisted denied set at prejit time
+
+
+ Persisted denied set at prejit time
+
+
+
+
+
+
+
+
+
+
+
+ Maximum legal value
+
+
+
+ A DeclSecurity security attribute
+
+
+
+
+ Gets/sets the attribute type
+
+
+
+
+ Gets the full name of the attribute type
+
+
+
+
+ Gets all named arguments (field and property values)
+
+
+
+
+ true if is not empty
+
+
+
+
+ Gets all s that are field arguments
+
+
+
+
+ Gets all s that are property arguments
+
+
+
+
+ Creates a from an XML string.
+
+ Owner module
+ XML
+ A new instance
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Attribute type
+
+
+
+ Constructor
+
+ Attribute type
+ Named arguments that will be owned by this instance
+
+
+
+
+
+
+ See CorSerializationType/CorHdr.h
+
+
+
+
+
+
+ System.Boolean
+
+
+ System.Char
+
+
+ System.SByte
+
+
+ System.Byte
+
+
+ System.Int16
+
+
+ System.UInt16
+
+
+ System.Int32
+
+
+ System.UInt32
+
+
+ System.Int64
+
+
+ System.UInt64
+
+
+ System.Single
+
+
+ System.Double
+
+
+ System.String
+
+
+ Single-dimension, zero lower bound array ([])
+
+
+ System.Type
+
+
+ Boxed value type
+
+
+ A field
+
+
+ A property
+
+
+ An enum
+
+
+
+ Compares types
+
+
+
+
+ Default instance
+
+
+
+
+ Case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compares fields
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compares methods
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compares properties
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+ Compares events
+
+
+
+
+ Compares the declaring types
+
+
+
+
+ Doesn't compare the declaring types
+
+
+
+
+ Compares the declaring types, case insensitive names
+
+
+
+
+ Doesn't compare the declaring types, case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+ Compares calling convention signatures
+
+
+
+
+ Default instance
+
+
+
+
+ Case insensitive names
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Decides how to compare types, sigs, etc
+
+
+
+
+ Don't compare a type's (assembly/module) scope
+
+
+
+
+ Compares a method/field's declaring type.
+
+
+
+
+ Compares a property's declaring type
+
+
+
+
+ Compares an event's declaring type
+
+
+
+
+ Compares method / field / property / event declaring types
+
+
+
+
+ Compares parameters after a sentinel in method sigs. Should not be enabled when
+ comparing s against s since it's
+ not possible to get those sentinel params from a .
+
+
+
+
+ Compares assembly public key token
+
+
+
+
+ Compares assembly version
+
+
+
+
+ Compares assembly locale
+
+
+
+
+ If set, a and an can reference the
+ global <Module> type.
+
+
+
+
+ Don't compare a method/property's return type
+
+
+
+
+ Type namespaces are case insensitive
+
+
+
+
+ Type names (not namespaces) are case insensitive
+
+
+
+
+ Type names and namespaces are case insensitive
+
+
+
+
+ Method and field names are case insensitive
+
+
+
+
+ Property names are case insensitive
+
+
+
+
+ Event names are case insensitive
+
+
+
+
+ Type namespaces, type names, method names, field names, property names
+ and event names are all case insensitive
+
+
+
+
+ A field that is can compare equal to
+ a
+
+
+
+
+ A method that is can compare equal to
+ a
+
+
+
+
+ A field that is and a method that is
+ can compare equal to a
+
+
+
+
+ Raw (bit by bit) comparison of signatures. This matches what the CLR does when it
+ compares signatures. This means that metadata tokens will be compared.
+
+
+
+
+ Ignore required and optional modifiers when comparing s.
+ They're already ignored when comparing eg. a with a
+ .
+
+
+
+
+ By default, all module and assembly compares when they're both the system library
+ (eg. mscorlib or System.Runtime.dll) return true, even if they're really different,
+ eg. mscorlib (.NET 2.0) vs mscorlib (Windows CE). If this flag is set, the system
+ library is compared just like any other module/assembly.
+
+
+
+
+ Don't project CLR compatible WinMD references back to the original CLR type/method before comparing
+
+
+
+
+ Don't check type equivalence when comparing types. Starting with .NET 4.0, two different
+ types can be considered equivalent if eg. a TypeIdentifierAttribute is used.
+
+
+
+
+ When comparing types, don't compare a multi-dimensional array's lower bounds and sizes
+
+
+
+
+ Compares types, signatures, methods, fields, properties, events
+
+
+
+
+ Constructor
+
+ Comparison options
+
+
+
+ Constructor
+
+ Comparison options
+ The module which the comparison take place in.
+
+
+
+ is mapped to , so use
+ the same hash code for both
+
+
+
+
+ Compare members
+
+ Member #1
+ Member #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a member
+
+ The member
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares resolution scopes
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares implementation
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares resolution scope and implementation
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares files
+
+ File #1
+ File #2
+ true if same, false otherwise
+
+
+
+ Compares a module with a file
+
+ Module
+ File
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares assemblies
+
+ Assembly #1
+ Assembly #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Compares type lists
+
+ Type list #1
+ Type list #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type list
+
+ The type list
+ The hash code
+
+
+
+ Compares signatures
+
+ Sig #1
+ Sig #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a sig
+
+ The sig
+ The hash code
+
+
+
+ Compares method/property sigs
+
+ Method/property #1
+ Method/property #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a method/property sig
+
+ The method/property sig
+ The hash code
+
+
+
+ Compares field sigs
+
+ Field sig #1
+ Field sig #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field sig
+
+ The field sig
+ The hash code
+
+
+
+ Compares local sigs
+
+ Local sig #1
+ Local sig #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a local sig
+
+ The local sig
+ The hash code
+
+
+
+ Compares generic method instance sigs
+
+ Generic inst method #1
+ Generic inst method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a generic instance method sig
+
+ The generic inst method sig
+ The hash code
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a method
+
+ The method
+ The hash code
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a method
+
+ The method
+ The hash code
+
+
+
+ Compares MemberRefs
+
+ MemberRef #1
+ MemberRef #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MemberRef
+
+ The MemberRef
+ The hash code
+
+
+
+ Compares MethodSpecs
+
+ MethodSpec #1
+ MethodSpec #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MethodSpec
+
+ The MethodSpec
+ The hash code
+
+
+
+ Compares MemberRefParents
+
+ MemberRefParent #1
+ MemberRefParent #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MemberRefParent
+
+ The MemberRefParent
+ The hash code
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field
+
+ The field
+ The hash code
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field
+
+ The field
+ The hash code
+
+
+
+ Compares properties
+
+ Property #1
+ Property #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a property
+
+ The property
+ The hash code
+
+
+
+ Compares events
+
+ Event #1
+ Event #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of an event
+
+ The event
+ The hash code
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Checks whether it's FnPtr&, FnPtr*, FnPtr[], or FnPtr[...]
+
+ The type
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if we should treat
+ as a generic instance type
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Compares types
+
+ Type #1
+ Type #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a type
+
+ The type
+ The hash code
+
+
+
+ Gets the hash code of a type
+
+ The type
+ true if we should treat
+ as a generic instance type
+ The hash code
+
+
+
+ Gets the hash code of a type list
+
+ The type list
+ The hash code
+
+
+
+ Gets the hash code of a list with only generic method parameters ()
+
+ Number of generic method parameters
+ Hash code
+
+
+
+ Gets the hash code of a TypeDef type
+
+ The type
+ The hash code
+
+
+
+ Compares type lists
+
+ Type list #1
+ Type list #2
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares a file and a module
+
+ File
+ Module
+ true if same, false otherwise
+
+
+
+ Compares modules
+
+ Module #1
+ Module #2
+ true if same, false otherwise
+
+
+
+ Compares assemblies
+
+ Assembly #1
+ Assembly #2
+ true if same, false otherwise
+
+
+
+ Compares method declaring types
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares method sigs
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares method sigs
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares generic method args, making sure only
+ contains s.
+
+ Number of generic method args in method #1
+ Generic method args in method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Compares methods
+
+ Method #1
+ Method #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a MethodBase
+
+ The MethodBase
+ The hash code
+
+
+
+ Gets the hash code of a parameter list
+
+ The type list
+ Declaring type of method that owns parameter
+ The hash code
+
+
+
+ Compares calling conventions
+
+ Calling convention
+ Method
+
+
+
+
+ Compares return types
+
+ Return type #1
+ MethodBase
+ true if same, false otherwise
+
+
+
+ Compares parameter lists
+
+ Type list #1
+ Type list #2
+ Declaring type of method that owns parameter
+ true if same, false otherwise
+
+
+
+ Compares parameter types
+
+ Parameter type #1
+ Parameter #2
+ Declaring type of method that owns parameter
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Compares fields
+
+ Field #1
+ Field #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a field
+
+ The field
+ The hash code
+
+
+
+ Compares properties
+
+ Property #1
+ Property #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a property
+
+ The property
+ The hash code
+
+
+
+ Compares events
+
+ Event #1
+ Event #2
+ true if same, false otherwise
+
+
+
+ Gets the hash code of an event
+
+ The event
+ The hash code
+
+
+
+
+
+
+ Helps resolve types
+
+
+
+
+ Resolves a
+
+ A TypeDefOrRef coded token
+ Generic parameter context
+ A or null if
+ is invalid
+
+
+
+ Converts the address of a to a
+
+
+ Address of . This is also known as the
+ method table and has the same value as
+ A or null if not supported
+
+
+
+ Reads signatures from the #Blob stream
+
+
+
+
+ Reads a signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a type signature from the #Blob stream
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ The module where the signature is located in
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ Generic parameter context
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Reads a signature
+
+ Token resolver
+ A instance
+ The signature reader
+ Generic parameter context
+ If there's any extra data after the signature, it's saved
+ here, else this will be null
+ A new instance or null if
+ is invalid.
+
+
+
+ Constructor
+
+ Reader module
+ #Blob stream offset of signature
+ Generic parameter context
+
+
+
+ Constructor
+
+ Token resolver
+ A instance
+ The signature data
+ Generic parameter context
+
+
+
+ Reads the signature
+
+ A new instance or null if invalid signature
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads a
+
+ First byte of signature
+ A new instance
+
+
+
+ Reads the next type
+
+ A new instance or null if invalid element type
+
+
+
+ A high-level representation of a row in the StandAloneSig table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column StandAloneSig.Signature
+
+
+
+
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the method sig
+
+
+
+
+ Gets/sets the locals sig
+
+
+
+
+
+
+
+ A StandAloneSig row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ A locals sig
+
+
+
+ Constructor
+
+ A method sig
+
+
+
+ Created from a row in the StandAloneSig table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this StandAloneSig row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Thrown if the strong name key or public key is invalid
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ Other exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ Type of signature algorithm. See WinCrypt.h in the Windows SDK
+
+
+
+
+ RSA signature algorithm
+
+
+
+
+ A public key
+
+
+
+
+ Gets/sets the signature algorithm
+
+
+
+
+ Gets/sets the hash algorithm
+
+
+
+
+ Gets/sets the modulus
+
+
+
+
+ Gets/sets the public exponent
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Modulus
+ Public exponent
+
+
+
+ Constructor
+
+ Modulus
+ Public exponent
+ Hash algorithm
+
+
+
+ Constructor
+
+ Modulus
+ Public exponent
+ Hash algorithm
+ Signature algorithm
+
+
+
+ Constructor
+
+ Public key
+
+
+
+ Constructor
+
+ Public key data
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Public key file
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Public key stream
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Public key reader
+ Strong name key is invalid
+
+
+
+ Creates a public key blob
+
+
+
+
+
+
+
+ Stores a strong name key pair
+
+
+
+
+ Gets the public key
+
+
+
+
+ Gets the strong name signature size in bytes
+
+
+
+
+ Gets the public key hash algorithm. It's usually
+
+
+
+
+ Gets the public exponent
+
+
+
+
+ Gets the modulus
+
+
+
+
+ Gets prime1
+
+
+
+
+ Gets prime2
+
+
+
+
+ Gets exponent1
+
+
+
+
+ Gets exponent2
+
+
+
+
+ Gets the coefficient
+
+
+
+
+ Gets the private exponent
+
+
+
+
+ Constructor
+
+ Strong name key data
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Strong name key file
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Strong name key stream
+ Strong name key is invalid
+
+
+
+ Constructor
+
+ Strong name key reader
+ Strong name key is invalid
+
+
+
+ Creates a strong name key with a new hash algorithm
+
+ Algorithm
+
+
+
+
+ Creates an instance
+
+
+
+
+ Creates a strong name blob
+
+
+
+
+ Creates a counter signature, just like
+ sn -a IdentityPubKey.snk IdentityKey.snk SignaturePubKey.snk can do.
+ The public key sn prints is 's value.
+
+ Identity public key
+ Identity strong name key pair
+ Signature public key
+ The counter signature as a hex string
+
+
+
+ Creates a counter signature, just like
+ sn -a IdentityPubKey.snk IdentityKey.snk SignaturePubKey.snk can do.
+ The public key sn prints is 's value.
+
+ Identity public key
+ Identity strong name key pair
+ Signature public key
+ The counter signature
+
+
+
+ Strong name signs an assembly. It supports normal strong name signing and the new
+ (.NET 4.5) enhanced strong name signing.
+
+
+
+
+ Constructor
+
+ .NET PE file stream
+
+
+
+ Constructor
+
+ .NET PE file stream
+ Offset in of the first byte of
+ the PE file.
+
+
+
+ Calculates the strong name signature and writes it to the stream. The signature
+ is also returned.
+
+ Strong name key used for signing
+ Offset (relative to the start of the PE file) of the strong
+ name signature.
+ The strong name signature
+
+
+
+ Calculates and returns the strong name signature
+
+ Strong name key used for signing
+ Offset (relative to start of PE file) of the strong
+ name signature.
+ The strong name signature
+
+
+
+ Strong name hashes the .NET file
+
+ Hash algorithm
+ Strong name sig offset (relative to start of .NET PE file)
+ Size of strong name signature
+ The strong name hash of the .NET file
+
+
+
+ Returns the strong name signature
+
+ Strong name key
+ Hash algorithm
+ Strong name hash of the .NET PE file
+ Strong name signature
+
+
+
+ System.Runtime.InteropServices.TypeIdentifierAttribute helper code used by
+
+
+
+
+ TypeDef and ExportedType flags. See CorHdr.h/CorTypeAttr
+
+
+
+ Use this mask to retrieve the type visibility information.
+
+
+ Class is not public scope.
+
+
+ Class is public scope.
+
+
+ Class is nested with public visibility.
+
+
+ Class is nested with private visibility.
+
+
+ Class is nested with family visibility.
+
+
+ Class is nested with assembly visibility.
+
+
+ Class is nested with family and assembly visibility.
+
+
+ Class is nested with family or assembly visibility.
+
+
+ Use this mask to retrieve class layout information
+
+
+ Class fields are auto-laid out
+
+
+ Class fields are laid out sequentially
+
+
+ Layout is supplied explicitly
+
+
+ Use this mask to retrieve class semantics information.
+
+
+ Use this mask to retrieve class semantics information.
+
+
+ Type is a class.
+
+
+ Type is an interface.
+
+
+ Class is abstract
+
+
+ Class is concrete and may not be extended
+
+
+ Class name is special. Name describes how.
+
+
+ Class / interface is imported
+
+
+ The class is Serializable.
+
+
+ The type is a Windows Runtime type
+
+
+ Use StringFormatMask to retrieve string information for native interop
+
+
+ LPTSTR is interpreted as ANSI in this class
+
+
+ LPTSTR is interpreted as UNICODE
+
+
+ LPTSTR is interpreted automatically
+
+
+ A non-standard encoding specified by CustomFormatMask
+
+
+ Use this mask to retrieve non-standard encoding information for native interop. The meaning of the values of these 2 bits is unspecified.
+
+
+ Initialize the class any time before first static field access.
+
+
+ This ExportedType is a type forwarder.
+
+
+ Flags reserved for runtime use.
+
+
+ Runtime should check name encoding.
+
+
+ Class has security associate with it.
+
+
+
+ A high-level representation of a row in the TypeDef table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always returns false since a does not contain any
+ or .
+
+
+
+
+
+
+
+ Gets/sets the owner module
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ From column TypeDef.Flags
+
+
+
+ Attributes
+
+
+
+ From column TypeDef.Name
+
+
+
+ Name
+
+
+
+ From column TypeDef.Namespace
+
+
+
+ Name
+
+
+
+ From column TypeDef.Extends
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+ Reset
+
+
+
+ From column TypeDef.FieldList
+
+
+
+
+
+
+ Initializes
+
+
+
+ From column TypeDef.MethodList
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets the interfaces
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets/sets the class layout
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+
+
+
+ Gets/sets the enclosing type. It's null if this isn't a nested class.
+
+
+
+
+
+
+
+ Called by and should normally not be called by any user
+ code. Use instead. Only call this if you must set the
+ declaring type without inserting it in the declaring type's method list.
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ Gets all the nested types
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all events
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all properties
+
+
+
+
+
+
+ Initializes
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if there's at least one in
+
+
+
+
+ true if is not null
+
+
+
+
+ Gets/sets the packing size. If you write to this property but
+ is null, it will be created. The value is returned
+ if is null.
+
+
+
+
+ Gets/sets the class size. If you write to this property but
+ is null, it will be created. The value is returned
+ if is null.
+
+
+
+
+
+
+
+ true if it's an enum
+
+
+
+
+ true if it's a delegate (it derives from )
+
+
+
+
+ true if this is a nested type (it has a declaring type)
+
+
+
+
+
+
+
+ Checks whether this type has opted into equivalence
+
+
+
+
+ Modify property: =
+ ( & ) | .
+
+ Value to AND
+ Value to OR
+
+
+
+ Set or clear flags in
+
+ true if flags should be set, false if flags should
+ be cleared
+ Flags to set or clear
+
+
+
+ Gets/sets the visibility
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the layout
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the string format
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ true if is set
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ true if this is the global (aka. <Module>) type
+
+
+
+
+ Gets a list of all nested types and all their nested types
+
+
+
+
+ Gets an enum's underlying type or null if none. Should only be called
+ if this is an enum.
+
+
+
+
+ Resolves a method or a field. (owner type) is ignored when
+ resolving the method/field. Private scope methods/fields are not returned.
+
+ A method/field reference
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Resolves a method or a field. (owner type) is ignored when
+ resolving the method/field.
+
+ A method/field reference
+ Method/field signature comparison options
+ A or a instance or null
+ if it couldn't be resolved.
+
+
+
+ Finds a method. Private scope methods are not returned.
+
+ Method name
+ Method signature
+ The first method that matches or null if none found
+
+
+
+ Finds a method
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The first method that matches or null if none found
+
+
+
+ Finds a method
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The module that needs to find the method or null
+ The first method that matches or null if none found
+
+
+
+ Finds a method by name
+
+ Name of method
+ The or null if not found
+
+
+
+ Finds all methods by name
+
+ Name of method
+ All methods with that name
+
+
+
+ Finds the class constructor (aka type initializer). It's the method named .cctor
+
+ The class constructor or null if none found
+
+
+
+ Finds the class constructor (aka type initializer). It's the method named .cctor.
+ If it doesn't exist, it is created, inserted into and returned.
+ The created .cctor will have just one RET instruction.
+
+ The class constructor
+
+
+
+ Finds all instance constructors (not class constructors)
+
+ All instance constructors
+
+
+
+ Finds all static and instance constructors
+
+ All static and instance constructors
+
+
+
+ Finds the default instance constructor (the one with no arguments)
+
+ The default instance constructor or null if none
+
+
+
+ Finds a field. Private scope fields are not returned.
+
+ Field name
+ Field signature
+ The first field that matches or null if none found
+
+
+
+ Finds a field
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The first field that matches or null if none found
+
+
+
+ Finds a field
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The module that needs to find the field or null
+ The first field that matches or null if none found
+
+
+
+ Finds a field by name
+
+ Name of field
+ The or null if not found
+
+
+
+ Finds all fields by name
+
+ Name of field
+ All fields with that name
+
+
+
+ Finds an event
+
+ Name of event
+ Type of event
+ A or null if not found
+
+
+
+ Finds an event
+
+ Name of event
+ Type of event
+ Event type comparison options
+ A or null if not found
+
+
+
+ Finds an event
+
+ Name of event
+ Type of event
+ Event type comparison options
+ The module that needs to find the event or null
+ A or null if not found
+
+
+
+ Finds an event by name
+
+ Name of event
+ The or null if not found
+
+
+
+ Finds all events by name
+
+ Name of event
+ All events with that name
+
+
+
+ Finds a property
+
+ Name of property
+ Property signature
+ A or null if not found
+
+
+
+ Finds a property
+
+ Name of property
+ Property signature
+ Property signature comparison options
+ A or null if not found
+
+
+
+ Finds a property
+
+ Name of property
+ Property signature
+ Property signature comparison options
+ The module that needs to find the property or null
+ A or null if not found
+
+
+
+ Finds a prop by name
+
+ Name of prop
+ The or null if not found
+
+
+
+ Finds all props by name
+
+ Name of prop
+ All props with that name
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ Method signature
+ The method or null if it wasn't found
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The method or null if it wasn't found
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ Method signature
+ Method signature comparison options
+ The module that needs to find the method or null
+ The method or null if it wasn't found
+
+
+
+ Finds a method by checking this type or any of its base types
+
+ Method name
+ The method or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ Field signature
+ The field or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The field or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ Field signature
+ Field signature comparison options
+ The module that needs to find the field or null
+ The field or null if it wasn't found
+
+
+
+ Finds a field by checking this type or any of its base types
+
+ Field name
+ The field or null if it wasn't found
+
+
+
+ Finds an event by checking this type or any of its base types
+
+ Event name
+ Event type
+ The event or null if it wasn't found
+
+
+
+ Finds an event by checking this type or any of its base types
+
+ Event name
+ The event or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ Property signature
+ The property or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ Property signature
+ Property signature comparison options
+ The property or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ Property signature
+ Property signature comparison options
+ The module that needs to find the property or null
+ The property or null if it wasn't found
+
+
+
+ Finds a property by checking this type or any of its base types
+
+ Property name
+ The property or null if it wasn't found
+
+
+
+ Removes a method from this type. It also removes it from any properties and events.
+
+ The method to remove
+
+
+
+ Removes a method from this type. It also removes it from any properties and events.
+
+ The method to remove
+ true if we should remove all
+ empty properties and events.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all fields named
+
+ Field name
+ A list of 0 or more fields with name
+
+
+
+ Gets the first field named
+
+ Field name
+ The field or null if none found
+
+
+
+ FInd a method implementation method
+
+ Method
+
+
+
+
+
+
+
+ A TypeDef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Namespace
+ Name
+
+
+
+ Constructor
+
+ Name
+ Base class or null if it's an interface
+
+
+
+ Constructor
+
+ Namespace
+ Name
+ Base class or null if it's an interface
+
+
+
+ Created from a row in the TypeDef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this TypeDef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Gets all methods overrides
+
+ The method
+ Generic parameter context
+ A list (possibly empty) of all methods overrides
+
+
+
+ Initializes all . Only those s
+ that are property or event handlers get updated.
+
+
+
+
+ Initializes a property's special methods
+
+ The property
+ Updated with a list of all get methods
+ Updated with a list of all set methods
+ Updated with a list of all other methods
+
+
+
+ Initializes an event's special methods
+
+ The event
+ Updated with the addOn method or null if none
+ Updated with the fire method or null if none
+ Updated with the removeOn method or null if none
+ Updated with a list of all other methods
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Finds s
+
+
+
+
+ true if the cache is enabled. false if the cache
+ is disabled and a slower O(n) lookup is performed.
+
+
+
+
+ Constructor
+
+ All root types. All their nested types are also included.
+ If is null
+
+
+
+ Constructor
+
+ All root types
+ true if all nested types that are reachable
+ from should also be included.
+ If is null
+
+
+
+ Resets the cache (clears all cached elements). Use this method if the cache is
+ enabled but some of the types have been modified (eg. removed, added, renamed).
+
+
+
+
+
+
+
+
+
+
+ Gets the next or null if there are no more left
+
+ The next or null if none
+
+
+
+ Gets the next or null if there are no more left.
+ The cache is updated with the returned before the method
+ returns.
+
+ The next or null if none
+
+
+
+
+
+
+ Various helper methods for classes to prevent infinite recursion
+
+
+
+
+ Checks whether contains a or a
+ .
+
+ Calling convention signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Field signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Method or property signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Local signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Generic method signature
+ true if contains a
+ or a .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Checks whether contains a or a
+ .
+
+ Type
+ true if contains a or a
+ .
+
+
+
+ Thrown by when it fails to parse a type name
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Exception message
+
+
+
+ Constructor
+
+ Exception message
+ Inner exception or null if none
+
+
+
+ Constructor
+
+
+
+
+
+
+ Helps create types
+
+
+
+
+ Finds a 's when the original assembly
+ info is missing from the full type name.
+
+ A non-nested
+ 's or null
+
+
+
+ Parses a type name and creates an
+
+
+
+ Owner module
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance or null if parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance or null if parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance
+ If parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ A new instance or null if parsing failed
+
+
+
+ Parses a Reflection type name and creates a
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+ A new instance or null if parsing failed
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+
+
+
+ Parses a type name and creates a
+
+ A new instance
+ If parsing failed
+
+
+
+ Parses a type name and creates a
+
+ A new instance
+ If parsing failed
+
+
+
+ Increment recursion counter
+
+ If this method has been called too many times
+
+
+
+ Decrement recursion counter
+
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Reads a including any possible nested s.
+
+ Character separating nested types
+ A new instance, which could be nested.
+
+
+
+ Reads a namespace and name and creates a TypeRef. Does not read any nested types.
+
+ A new instance
+
+
+
+ Peeks the next char. -1 if no more chars.
+
+
+
+
+ Gets the next char or -1 if no more chars
+
+
+
+
+ Gets the next ID char or -1 if no more ID chars
+
+ true if white space should be ignored
+
+
+
+ Parses reflection type names. Grammar http://msdn.microsoft.com/en-us/library/yfsftwz6.aspx
+
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+
+
+
+ Constructor
+
+ Module that will own the returned or null
+ Full name of type
+ Helper class
+ Generic parameter context
+
+
+
+ Parses an assembly name
+
+ Full assembly name
+ A new instance or null if parsing failed
+
+
+
+ Parses an assembly name
+
+ Full assembly name
+ Generic parameter context
+ A new instance or null if parsing failed
+
+
+
+
+
+
+ A high-level representation of a row in the TypeRef table
+
+
+
+
+ The row id in its table
+
+
+
+
+ The owner module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Always returns false since a does not contain any
+ or .
+
+
+
+
+
+
+
+ From column TypeRef.ResolutionScope
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ From column TypeRef.Name
+
+
+
+ Name
+
+
+
+ From column TypeRef.Namespace
+
+
+
+ Name
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+ true if it's nested within another
+
+
+
+
+
+
+
+
+
+
+ Gets the declaring type, if any
+
+
+
+
+
+
+
+ Resolves the type
+
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ The module that needs to resolve the type or null
+ A instance or null if it couldn't be resolved
+
+
+
+ Resolves the type
+
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Resolves the type
+
+ The module that needs to resolve the type or null
+ A instance
+ If the type couldn't be resolved
+
+
+
+ Gets the top-most (non-nested)
+
+ Input
+ The non-nested or null
+
+
+
+
+
+
+ A TypeRef row created by the user and not present in the original .NET file
+
+
+
+
+ Constructor
+
+ Owner module
+ Type name
+
+
+
+ Constructor
+
+ Owner module
+ Type namespace
+ Type name
+
+
+
+ Constructor
+
+ Owner module
+ Type namespace
+ Type name
+ Resolution scope (a ,
+ , or )
+
+
+
+ Created from a row in the TypeRef table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this TypeRef row
+ Row ID
+ If is null
+ If is invalid
+
+
+
+ Type sig base class
+
+
+
+
+ Returns the wrapped element type. Can only be null if it was an invalid sig or
+ if it's a
+
+
+
+
+ Gets the element type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a or a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if it's a
+
+
+
+
+ true if this contains a or a
+ .
+
+
+
+
+
+
+
+ Base class for element types that are last in a type sig, ie.,
+ , , ,
+ ,
+
+
+
+
+
+
+
+ Wraps a
+
+
+
+
+ Gets the the TypeDefOrRef
+
+
+
+
+ Returns true if != null
+
+
+
+
+ Returns true if != null
+
+
+
+
+ Returns true if != null
+
+
+
+
+ Gets the or null if it's not a
+
+
+
+
+ Gets the or null if it's not a
+
+
+
+
+ Gets the or null if it's not a
+
+
+
+
+ Constructor
+
+ A , or
+ a
+
+
+
+ A core library type
+
+
+
+
+ Gets the element type
+
+
+
+
+ Constructor
+
+ The type which must be a or a
+ . and null are not allowed.
+ The type's element type
+
+
+
+ Base class for class/valuetype element types
+
+
+
+
+ Constructor
+
+ A
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ A
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ A
+
+
+
+ Generic method/type var base class
+
+
+
+
+ true if it has an owner or
+
+
+
+
+ true if it has an owner ( is
+ not null)
+
+
+
+
+ true if it has an owner ( is
+ not null)
+
+
+
+
+ Gets the owner type or null if the owner is a or if it
+ has no owner.
+
+
+
+
+ Gets the owner method or null if the owner is a or if it
+ has no owner.
+
+
+
+
+ Gets the generic param number
+
+
+
+
+ Gets the corresponding or null if none exists.
+
+
+
+
+ Constructor
+
+ true if it's a Var, false if it's a MVar
+ Generic param number
+
+
+
+ Constructor
+
+ true if it's a Var, false if it's a MVar
+ Generic param number
+ Owner method/type or null
+
+
+
+ Returns true if it's a MVar element type
+
+
+
+
+ Returns true if it's a Var element type
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner type or null
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner type or null
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner method or null
+
+
+
+ Constructor
+
+ Generic parameter number
+ Owner method or null
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets the signature
+
+
+
+
+ Gets the
+
+
+
+
+ Constructor
+
+ The method signature
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets the generic type
+
+
+
+
+ Gets the generic arguments (it's never null)
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ The generic type
+
+
+
+ Constructor
+
+ The generic type
+ Number of generic arguments
+
+
+
+ Constructor
+
+ The generic type
+ Number of generic arguments
+
+
+
+ Constructor
+
+ The generic type
+ Generic argument #1
+
+
+
+ Constructor
+
+ The generic type
+ Generic argument #1
+ Generic argument #2
+
+
+
+ Constructor
+
+ The generic type
+ Generic argument #1
+ Generic argument #2
+ Generic argument #3
+
+
+
+ Constructor
+
+ The generic type
+ Generic arguments
+
+
+
+ Constructor
+
+ The generic type
+ Generic arguments
+
+
+
+ Base class of non-leaf element types
+
+
+
+
+
+
+
+ Constructor
+
+ Next sig
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+ Array base class
+
+
+
+
+ Constructor
+
+ Array type
+
+
+
+ true if it's a multi-dimensional array (i.e., ),
+ and false if it's a single-dimensional array (i.e., )
+
+
+
+
+
+ true if it's a single-dimensional array (i.e., ),
+ and false if it's a multi-dimensional array (i.e., )
+
+
+
+
+
+ Gets/sets the rank (number of dimensions). This can only be set if
+ is true
+
+
+
+
+ Gets all sizes. If it's a , then it will be an empty temporary
+ list that is re-created every time this method is called.
+
+ A list of sizes
+
+
+
+ Gets all lower bounds. If it's a , then it will be an empty
+ temporary list that is re-created every time this method is called.
+
+ A list of lower bounds
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+ Gets/sets the rank (max value is 0x1FFFFFFF)
+
+
+
+
+ Gets all sizes (max elements is 0x1FFFFFFF)
+
+
+
+
+ Gets all lower bounds (max elements is 0x1FFFFFFF)
+
+
+
+
+ Constructor
+
+ Array type
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+ Sizes list. This instance will be the owner of this list.
+ Lower bounds list. This instance will be the owner of this list.
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+ Sizes list. This instance will be the owner of this list.
+ Lower bounds list. This instance will be the owner of this list.
+
+
+
+ Constructor
+
+ Array type
+ Array rank
+ Sizes list. This instance will be the owner of this list.
+ Lower bounds list. This instance will be the owner of this list.
+
+
+
+
+
+
+
+
+
+ Represents a (single dimension, zero lower bound array)
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+
+
+
+
+
+
+ Base class for modifier type sigs
+
+
+
+
+ Returns the modifier type
+
+
+
+
+ Constructor
+
+ Modifier type
+ The next element type
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Constructor
+
+ The next element type
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets/sets the size
+
+
+
+
+ Constructor
+
+ The next element type
+ Size of the array
+
+
+
+ Represents a
+
+
+
+
+
+
+
+ Gets/sets the index
+
+
+
+
+ Constructor
+
+ Index
+ The next element type
+
+
+
+ A high-level representation of a row in the TypeSpec table
+
+
+
+
+ The row id in its table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ From column TypeSpec.Signature
+
+
+
+
+ Gets/sets the extra data that was found after the signature
+
+
+
+
+
+
+
+
+
+
+
+
+ Called to initialize
+
+
+
+ Gets all custom attributes
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets all custom debug infos
+
+
+
+
+
+
+ Initializes
+
+
+
+
+
+
+ A TypeSpec row created by the user and not present in the original .NET file
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ A type sig
+
+
+
+ Created from a row in the TypeSpec table
+
+
+
+ The module where this instance is located
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The module which contains this TypeSpec row
+ Row ID
+ Generic parameter context
+ If is null
+ If is invalid
+
+
+
+ Compares s
+
+
+
+
+ The default instance
+
+
+
+
+
+
+
+
+
+
+ A UTF-8 encoded string where the original data is kept in memory to avoid conversions
+ when the data is not really valid UTF-8 encoded data
+
+ When comparing strings, a byte compare is performed. The reason is that this
+ is what the CLR does when comparing strings in the #Strings stream.
+
+
+
+ An empty
+
+
+
+
+ Gets the value as a UTF8 decoded string. Only use it for display purposes,
+ not for serialization.
+
+
+
+
+ Gets the original encoded data. Don't modify this data.
+
+
+
+
+ Gets the length of the this as a . I.e., it's the same as
+ String.Length.
+
+
+
+
+
+ Gets the length of the raw data. It's the same as Data.Length
+
+
+
+
+
+ Checks whether is null or if its data is null.
+
+ The instance to check
+ true if null or empty, false otherwise
+
+
+
+ Checks whether is null or if its data is null or the
+ data is zero length.
+
+ The instance to check
+ true if null or empty, false otherwise
+
+
+ Implicit conversion from to
+
+
+ Implicit conversion from to
+
+
+
+ Converts it to a
+
+ The UTF-8 string instace or null
+ A or null if is null
+
+
+
+ Converts it to a or an empty string if is null
+
+ The UTF-8 string instace or null
+ A (never null)
+
+
+
+ Gets the hash code of a
+
+ Input
+
+
+
+
+
+
+ Compares two instances (case sensitive)
+
+ Instance #1 or null
+ Instance #2 or null
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two instances (case insensitive)
+
+ Instance #1 or null
+ Instance #2 or null
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two instances (case insensitive)
+
+ Instance #1 or null
+ Instance #2 or null
+ true if equals, false otherwise
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+
+ Constructor
+
+ UTF-8 data that this instance now owns
+
+
+
+ Constructor
+
+ The string
+
+
+
+ Compares two instances
+
+ First
+ Second
+ true if equals, false otherwise
+
+
+
+
+
+
+
+
+
+ Checks whether exists in this string
+
+ Value to find
+ true if exists in string or is the
+ empty string, else false
+
+
+
+ Checks whether matches the end of this string
+
+ Value
+
+
+
+
+ Checks whether matches the end of this string
+
+ Value
+ true to ignore case
+ Culture info
+
+
+
+
+ Checks whether matches the end of this string
+
+ Value
+ Comparison type
+
+
+
+
+ Checks whether matches the beginning of this string
+
+ Value
+
+
+
+
+ Checks whether matches the beginning of this string
+
+ Value
+ true to ignore case
+ Culture info
+
+
+
+
+ Checks whether matches the beginning of this string
+
+ Value
+ Comparison type
+
+
+
+
+ Compares this instance with
+
+ Other string
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Returns the index of the first character in this string
+
+ Character
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first character in this string
+ starting from index
+
+ Character
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first character in this string
+ starting from index for max
+ characters.
+
+ Character
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+
+ String
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index
+
+ String
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+ starting from index
+
+ String
+ Start index
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the first sub string in this string
+
+ String
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last character in this string
+
+ Character
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last character in this string
+ starting from index
+
+ Character
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last character in this string
+ starting from index for max
+ characters.
+
+ Character
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+
+ String
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index
+
+ String
+ Start index
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index for max
+ characters.
+
+ String
+ Start index
+ Max number of chars to scan
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+ starting from index
+
+ String
+ Start index
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Returns the index of the last sub string in this string
+
+ String
+ Comparison type
+ The index of or -1 if not found
+
+
+
+ Inserts string at a index
+
+ Start index
+ Value to insert
+ A new instance with the inserted at position
+
+
+
+
+ Removes all characters starting from position
+
+ Start index
+ A new instance
+
+
+
+ Removes characters starting from position
+
+
+ Start index
+ Number of characters to remove
+ A new instance
+
+
+
+ Replaces all characters with
+
+ Character to find
+ Character to replace all
+ A new instance
+
+
+
+ Replaces all sub strings with
+
+ Sub string to find
+ Sub string to replace all
+ A new instance
+
+
+
+ Returns a sub string of this string starting at offset
+
+ Start index
+ A new instance
+
+
+
+ Returns a sub string of this string starting at offset .
+ Length of sub string is .
+
+ Start index
+ Length of sub string
+ A new instance
+
+
+
+ Returns the lower case version of this string
+
+ A new instance
+
+
+
+ Returns the lower case version of this string
+
+ Culture info
+ A new instance
+
+
+
+ Returns the lower case version of this string using the invariant culture
+
+ A new instance
+
+
+
+ Returns the upper case version of this string
+
+ A new instance
+
+
+
+ Returns the upper case version of this string
+
+ Culture info
+ A new instance
+
+
+
+ Returns the upper case version of this string using the invariant culture
+
+ A new instance
+
+
+
+ Removes all leading and trailing whitespace characters
+
+ A new instance
+
+
+
+
+
+
+
+
+
+ Compares byte arrays
+
+
+
+
+ Default instance
+
+
+
+
+
+
+
+
+
+
+ Returns an assembly name string
+
+ Simple assembly name
+ Version or null
+ Culture or null
+ Public key / public key token or null
+ Assembly attributes
+ An assembly name string
+
+
+
+ Convert a byte[] to a
+
+ All bytes
+ true if output should be in upper case hex
+ as a hex string
+
+
+
+ Converts a hex string to a byte[]
+
+ A string with an even number of hex characters
+ converted to a byte[] or null
+ if is invalid
+
+
+
+ Converts a character to a hex digit
+
+ Hex character
+ 0x00-0x0F if successful, -1 if is not
+ a valid hex digit
+
+
+
+ Compares two byte arrays
+
+ Byte array #1
+ Byte array #2
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two byte arrays are equal
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a byte array
+
+ Byte array
+ The hash code
+
+
+
+ Compares two versions
+
+ This differs from if the build
+ and/or revision numbers haven't been initialized or if one of the args is null.
+
+ Version #1 or null to be treated as v0.0.0.0
+ Version #2 or null to be treated as v0.0.0.0
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Checks whether two versions are the same
+
+ This differs from if the build
+ and/or revision numbers haven't been initialized or if one of the args is null.
+
+ Version #1 or null to be treated as v0.0.0.0
+ Version #2 or null to be treated as v0.0.0.0
+ true if same, false otherwise
+
+
+
+ Creates a new instance with no undefined version values (eg.
+ the build and revision values won't be -1).
+
+ A instance
+ A new instance
+
+
+
+ Parses a version string
+
+ Version string
+ A new or null if
+ is an invalid version
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ < 0 if a < b, 0 if a == b, > 0 if a > b
+
+
+
+ Compares two locales (cultures)
+
+ First
+ Second
+ true if same, false otherwise
+
+
+
+ Gets the hash code of a locale
+
+ Value
+ The hash code
+
+
+
+ Align up
+
+ Value
+ Alignment
+
+
+
+ Align up
+
+ Value
+ Alignment
+
+
+
+ Variant type (VT_XXX in the Windows SDK)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This wasn't present in the blob
+
+
+
+ All native vtables
+
+
+
+
+ Gets/sets the RVA of the vtable fixups
+
+
+
+
+ Gets all s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Module
+
+
+
+
+
+
+
+
+
+ See COR_VTABLE_XXX in CorHdr.h
+
+
+
+
+ 32-bit vtable slots
+
+
+
+
+ 64-bit vtable slots
+
+
+
+
+ Transition from unmanaged code
+
+
+
+
+ Also retain app domain
+
+
+
+
+ Call most derived method
+
+
+
+
+ One VTable accessed by native code
+
+
+
+
+ Gets/sets the of this vtable
+
+
+
+
+ Gets/sets the flags
+
+
+
+
+ true if each vtable slot is 32 bits in size
+
+
+
+
+ true if each vtable slot is 64 bits in size
+
+
+
+
+ Gets the vtable methods
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Flags
+
+
+
+ Constructor
+
+ RVA of this vtable
+ Flgas
+ Number of methods in vtable
+
+
+
+ Constructor
+
+ RVA of this vtable
+ Flgas
+ Vtable methods
+
+
+
+
+
+
+
+
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+ true if the returned type is a value type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+ true if the returned type is a value type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD type to a CLR type. Returns null
+ if it's not a CLR compatible WinMD type.
+
+ Owner module or null
+ Type
+
+
+
+
+ Converts WinMD member reference to a CLR member reference. Returns
+ null if it's not a CLR compatible WinMD member reference.
+
+ Owner module or null
+ Member reference
+
+
+
+
+ Converts WinMD method to a CLR member reference. Returns
+ null if it's not a CLR compatible WinMD method
+
+ Owner module or null
+ Method
+
+
+
+
+ WinMD status
+
+
+
+
+ This is not a WinMD file
+
+
+
+
+ This is a pure WinMD file (not managed)
+
+
+
+
+ This is a managed WinMD file (created by eg. winmdexp.exe)
+
+
+
+
+ Writes data
+
+
+
+
+ Gets the current position
+
+
+
+
+ Constructor
+
+ Destination array
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes bytes
+
+ Bytes
+
+
+
+ Writes bytes
+
+ Bytes
+ Source index
+ Number of bytes to write
+
+
+
+ #Blob heap
+
+
+
+
+
+
+
+ Populates blobs from an existing (eg. to preserve
+ blob offsets)
+
+ The #Blob stream with the original content
+
+
+
+ Adds data to the #Blob heap
+
+ The data
+ The offset of the data in the #Blob heap
+
+
+
+ Adds data to the #Blob heap, but does not re-use an existing position
+
+ The data
+ The offset of the data in the #Blob heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stores a byte array
+
+
+
+
+
+
+
+
+
+
+ Gets the data
+
+
+
+
+ Constructor
+
+ The data. It will be owned by this instance and can't be modified by
+ other code if this instance is inserted as a key in a dictionary (because
+ return value will be different if you modify the array). If
+ it's never inserted as a key in a dictionary, then the contents can be modified,
+ but shouldn't be resized after has been called.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Checksum algorithm
+
+
+
+
+ SHA-1
+
+
+
+
+ SHA-256
+
+
+
+
+ SHA-384
+
+
+
+
+ SHA-512
+
+
+
+
+ Contains a list of s
+
+
+
+
+ Default constructor
+
+
+
+
+ Add a
+
+ The chunk to add or null if none
+ Chunk alignment
+
+
+
+ Remove a
+
+ The chunk to remove or null if none
+ Alignment of the chunk, or null if the chunk cannot be removed.
+
+
+
+ Base class of chunk list types
+
+ Chunk type
+
+
+ All chunks
+
+
+ true if has been called
+
+
+
+ Helper struct
+
+
+
+ Data
+
+
+ Alignment
+
+
+
+ Constructor
+
+ Chunk
+ Alignment
+
+
+
+ Equality comparer for
+
+
+
+
+ Constructor
+
+ Compares the chunk type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Helps write custom attributes
+
+
+
+
+ Writes s
+
+
+
+
+ Writes a custom attribute
+
+ Helper class
+ The custom attribute
+ Custom attribute blob
+
+
+
+ Writes custom attribute named arguments
+
+ Helper class
+ Named arguments
+ The named args blob
+
+
+
+ Write a value
+
+ The ctor arg type, field type, or property type
+ The value to write
+
+
+
+ Gets the enum's underlying type
+
+ An enum type
+ The underlying type or null if we couldn't resolve the type ref
+
+
+
+ Converts to a , possibly resolving
+ a
+
+ The type
+ A or null if we couldn't resolve the
+ or if is a type spec
+
+
+
+
+
+
+ A chunk
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ The data
+
+
+
+ Constructor
+
+ The data
+ Virtual size of
+
+
+
+ Constructor
+
+ The data
+
+
+
+ Constructor
+
+ The data
+ Virtual size of
+
+
+
+ Gets the data reader
+
+
+
+
+ Replaces the old data with new data. The new data must be the same size as the old data if
+ has been called. That method gets called after
+ event
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copies existing data to a new metadata heap
+
+
+
+
+ Gets the name of the heap
+
+
+
+
+ Constructor
+
+ The stream whose data will be copied to the new metadata file
+
+
+
+ Constructor
+
+ Heap name
+ Heap content
+
+
+
+
+
+
+
+
+
+ Writes data
+
+
+
+
+ Gets/sets the position
+
+
+
+
+ Constructor
+
+ Destination stream
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes a
+
+ Value
+
+
+
+ Writes bytes
+
+ Bytes to write
+
+
+
+ Writes bytes
+
+ Bytes to write
+ Index to start copying from
+ Number of bytes to copy
+
+
+
+ Writes a compressed
+
+ Value
+
+
+
+ Writes a compressed
+
+
+
+
+
+ Gets the size of a compressed , see
+
+ Value
+
+
+
+
+ Debug directory entry
+
+
+
+
+ Gets the header
+
+
+
+
+ Gets the data
+
+
+
+
+ Constructor
+
+ Data
+
+
+
+ Debug directory chunk
+
+
+
+ Default debug directory alignment
+
+
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+ Adds data
+
+ Data
+
+
+
+
+ Adds data
+
+ Data
+
+
+
+
+ Adds data
+
+ Data
+ Debug type
+ Major version
+ Minor version
+ Timestamp
+
+
+
+
+ Adds data
+
+ Data
+ Debug type
+ Major version
+ Minor version
+ Timestamp
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Writes DeclSecurity blobs
+
+
+
+
+ Creates a DeclSecurity blob from
+
+ Owner module
+ List of s
+ Helps this class
+ A DeclSecurity blob
+
+
+
+ Creates a DeclSecurity blob from
+
+ Owner module
+ List of s
+ Helps this class
+ Optimize serialized type strings in custom attributes.
+ For more info, see
+ A DeclSecurity blob
+
+
+
+ Extension methods
+
+
+
+
+ Write zeros
+
+ this
+ Number of zeros
+
+
+
+ Writes all data to and verifies that all bytes were written
+
+ this
+ Destination
+ Not all bytes were written
+
+
+
+ Writes a data directory
+
+ Writer
+ The data
+
+
+
+ #GUID heap
+
+
+
+
+
+
+
+ Adds a guid to the #GUID heap
+
+ The guid
+ The index of the guid in the #GUID heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base class of most heaps
+
+
+
+
+ true if has been called
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true if offsets require 4 bytes instead of 2 bytes.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the raw length of the heap
+
+ Raw length of the heap
+
+
+
+
+
+
+ Writes all data to at its current location.
+
+ Destination
+
+
+
+
+
+
+ Data that gets written to the file
+
+
+
+
+ Gets the file offset. This is valid only after has been called.
+
+
+
+
+ Gets the RVA. This is valid only after has been called.
+
+
+
+
+ Called when the file offset and RVA are known
+
+ File offset of this chunk
+ RVA of this chunk
+
+
+
+ Gets the raw file length of this chunk. Must only be called after
+ has been called.
+
+ Length of this chunk
+
+
+
+ Gets the virtual size of this chunk. Must only be called after
+ has been called.
+
+ Virtual size of this chunk
+
+
+
+ Writes all data to at its current location. It's only
+ called after and have been called.
+ You cannot assume that 's file position is the same as this
+ chunk's file position.
+
+ Destination
+
+
+
+ Implemented by s that can reuse the old data location in the original PE file
+
+
+
+
+ Returns true if this chunk fits in the old location
+
+ Original RVA of data
+ Size of the original location
+
+
+
+
+ .NET Heap interface
+
+
+
+
+ Gets the name of the heap
+
+
+
+
+ Checks whether the heap is empty
+
+
+
+
+ Called when the heap should be set to read-only mode
+
+
+
+
+ Options to
+
+
+
+
+ Default major runtime version
+
+
+
+
+ Default minor runtime version
+
+
+
+
+ Major runtime version
+
+
+
+
+ Minor runtime version
+
+
+
+
+ Flags
+
+
+
+
+ Entry point or null. Either a Method/File token or an RVA.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Flags
+
+
+
+ Constructor
+
+ Major runtime version (default is )
+ Minor runtime version (default is )
+ Flags
+
+
+
+ .NET header
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the .NET resources
+
+
+
+
+ Gets/sets the strong name signature
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Import address table chunk
+
+
+
+
+ Gets/sets the
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ true if it's a 64-bit PE file, false if it's a 32-bit PE file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Import directory chunk
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets the RVA of _CorDllMain/_CorExeMain in the import lookup table
+
+
+
+
+ Gets RVA of _CorExeMain/_CorDllMain in the IAT
+
+
+
+
+ Gets/sets a value indicating whether this is a EXE or a DLL file
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the name of the dll which should be imported.
+
+
+
+
+ Gets/sets the name of the entry point of the imported dll.
+
+
+
+
+ Constructor
+
+ true if it's a 64-bit PE file, false if it's a 32-bit PE file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Interface to get and set raw heap data. Implemented by the offset heaps: #Strings,
+ #GUID, #Blob, and #US.
+
+ Type of cooked data
+
+
+
+ Gets the size of the data as raw data when written to the heap
+
+ The data
+ Size of the data as raw data when written to the heap
+
+
+
+ Overrides what value should be written to the heap.
+
+ Offset of value. Must match an offset returned by
+
+ The new raw data. The size must match the raw size exactly.
+
+
+
+ Gets all inserted raw data and their offsets. The returned array
+ is owned by the caller.
+
+ An enumerable of all raw data and their offsets
+
+
+
+ Gets notified of errors. The default handler should normally throw since the written data
+ will probably be invalid. Any error can be ignored.
+
+
+
+
+ Called when an error is detected (eg. a null pointer or other invalid value). The error
+ can be ignored but the written data won't be valid.
+
+ Error message
+
+
+
+ Writes the .sdata blob. We could write the data in any order, but we write the data in the same order as ILASM
+
+ PE timestamp
+
+
+
+ Writes field marshal blobs
+
+
+
+
+ Creates a field marshal blob from
+
+ Owner module
+ Marshal type
+ Helps this class
+ A field marshal blob or null if is
+ null
+
+
+
+ Creates a field marshal blob from
+
+ Owner module
+ Marshal type
+ Helps this class
+ Optimize serialized type strings in custom attributes.
+ For more info, see
+ A field marshal blob or null if is
+ null
+
+
+
+
+
+
+ Calculates max stack usage by using a simple pass over all instructions. This value
+ can be placed in the fat method header's MaxStack field.
+
+
+
+
+ Gets max stack value
+
+ All instructions
+ All exception handlers
+ Max stack value
+
+
+
+ Gets max stack value
+
+ All instructions
+ All exception handlers
+ Updated with max stack value
+ true if no errors were detected, false otherwise
+
+
+
+ MD table interface
+
+
+
+
+ Gets the table type
+
+
+
+
+ true if the table is empty
+
+
+
+
+ Gets the number of rows in this table
+
+
+
+
+ Gets/sets a value indicating whether it's sorted
+
+
+
+
+ true if has been called
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Called when the table can't be modified any more
+
+
+
+
+ Creates rows in a table. Rows can optionally be shared to create a compact table.
+
+ The raw row type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the value with rid
+
+ The row ID
+
+
+
+ Constructor
+
+ The table type
+ Equality comparer
+
+
+
+
+
+
+ Adds a row. If the row already exists, returns a rid to the existing one, else
+ it's created and a new rid is returned.
+
+ The row. It's now owned by us and must NOT be modified by the caller.
+ The RID (row ID) of the row
+
+
+
+ Creates a new row even if this row already exists.
+
+ The row. It's now owned by us and must NOT be modified by the caller.
+ The RID (row ID) of the row
+
+
+
+ Re-adds all added rows. Should be called if rows have been modified after being
+ inserted.
+
+
+
+
+ Reset the table.
+
+
+
+
+ Writes s
+
+
+
+
+ Writes a Module table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a TypeRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a TypeDef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Field table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Method table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ParamPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Param table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a InterfaceImpl table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MemberRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Constant table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a CustomAttribute table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldMarshal table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a DeclSecurity table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ClassLayout table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldLayout table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a StandAloneSig table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a EventMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a EventPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Event table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a PropertyMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a PropertyPtr table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Property table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodSemantics table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodImpl table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ModuleRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a TypeSpec table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ImplMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a FieldRVA table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ENCLog table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ENCMap table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Assembly table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyProcessor table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyOS table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyRef table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyRefProcessor table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a AssemblyRefOS table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a File table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ExportedType table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ManifestResource table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a NestedClass table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a GenericParam table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodSpec table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a GenericParamConstraint table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a Document table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a MethodDebugInformation table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a LocalScope table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a LocalVariable table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a LocalConstant table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a ImportScope table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a StateMachineMethod table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ Writes a CustomDebugInformation table
+
+ Writer
+ Metadata
+ Table
+
+
+
+ flags
+
+
+
+
+ Preserves all rids in the TypeRef table
+
+
+
+
+ Preserves all rids in the TypeDef table
+
+
+
+
+ Preserves all rids in the Field table
+
+
+
+
+ Preserves all rids in the Method table
+
+
+
+
+ Preserves all rids in the Param table
+
+
+
+
+ Preserves all rids in the MemberRef table
+
+
+
+
+ Preserves all rids in the StandAloneSig table
+
+
+
+
+ Preserves all rids in the Event table
+
+
+
+
+ Preserves all rids in the Property table
+
+
+
+
+ Preserves all rids in the TypeSpec table
+
+
+
+
+ Preserves all rids in the MethodSpec table
+
+
+
+
+ Preserves all method rids, i.e., Method, MemberRef and
+ MethodSpec rids.
+
+
+
+
+ Preserves all rids in the following tables: TypeRef, TypeDef,
+ Field, Method, Param, MemberRef, StandAloneSig,
+ Event, Property, TypeSpec, MethodSpec
+
+
+
+
+ Preserves all offsets in the #Strings heap (the original #Strings heap will be saved
+ in the new file). Type names, field names, and other non-user strings are stored
+ in the #Strings heap.
+
+
+
+
+ Preserves all offsets in the #US heap (the original #US heap will be saved
+ in the new file). User strings (referenced by the ldstr instruction) are stored in
+ the #US heap.
+
+
+
+
+ Preserves all offsets in the #Blob heap (the original #Blob heap will be saved
+ in the new file). Custom attributes, signatures and other blobs are stored in the
+ #Blob heap.
+
+
+
+
+ Preserves the extra data that is present after the original signature in the #Blob
+ heap. This extra data shouldn't be present but might be present if an obfuscator
+ has added this extra data and is eg. using it to decrypt stuff.
+
+
+
+
+ Preserves as much as possible
+
+
+
+
+ The original method body's max stack field should be used and a new one should not
+ be calculated.
+
+
+
+
+ Always create the #GUID heap even if it's empty
+
+
+
+
+ Always create the #Strings heap even if it's empty
+
+
+
+
+ Always create the #US heap even if it's empty
+
+
+
+
+ Always create the #Blob heap even if it's empty
+
+
+
+
+ Sort the InterfaceImpl table the same way Roslyn sorts it. Roslyn doesn't sort it
+ according to the ECMA spec, see https://github.com/dotnet/roslyn/issues/3905
+
+
+
+
+ Don't write method bodies
+
+
+
+
+ Don't write .NET resources
+
+
+
+
+ Don't write field data
+
+
+
+
+ Serialized type names stored in custom attributes are optimized if the types
+ exist in the core library (eg. mscorlib/System.Private.CoreLib).
+ Instead of storing type-name + assembly-name, only type-name is stored. This results in
+ slightly smaller assemblies.
+
+
+ If it's a type in the current module, the type name is optimized and no assembly name is stored in the custom attribute.
+
+
+ This is disabled by default. It's safe to enable if the reference core assembly
+ is the same as the runtime core assembly (eg. it's mscorlib.dll and .NET Framework,
+ but not .NET Core / .NET Standard).
+
+
+
+
+ Metadata heaps event args
+
+
+
+
+ Gets the metadata writer
+
+
+
+
+ Gets all heaps
+
+
+
+
+ Constructor
+
+ Metadata writer
+ All heaps
+
+
+
+ options
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the debug (portable PDB) options. This is never null.
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the debug (portable PDB) options. This is never null.
+
+
+
+
+ Various options
+
+
+
+
+ Extra heaps to add to the metadata. Also see and
+
+
+
+
+ Raised after all heaps have been added. The caller can sort the list if needed
+
+
+
+
+ Preserves the original order of heaps, and optionally adds all custom heaps to .
+
+ Original module with the heaps
+ If true, all custom streams are added to
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Flags
+
+
+
+ Constructor
+
+ Meta data header options
+
+
+
+ Constructor
+
+ Meta data header options
+ Flags
+
+
+
+ Portable PDB metadata kind
+
+
+
+
+ No debugging metadata
+
+
+
+
+ Standalone / embedded portable PDB metadata
+
+
+
+
+ Metadata writer event args
+
+
+
+
+ Gets the metadata writer
+
+
+
+
+ Gets the event
+
+
+
+
+ Constructor
+
+ Writer
+ Event
+
+
+
+ Metadata writer progress event args
+
+
+
+
+ Gets the metadata writer
+
+
+
+
+ Gets the progress, 0.0 - 1.0
+
+
+
+
+ Constructor
+
+ Writer
+ Progress, 0.0 - 1.0
+
+
+
+ .NET meta data
+
+
+
+
+ Raised at various times when writing the metadata
+
+
+
+
+ Raised when the progress is updated
+
+
+
+
+ Gets/sets the logger
+
+
+
+
+ Gets the module
+
+
+
+
+ Gets the constants
+
+
+
+
+ Gets the method body chunks
+
+
+
+
+ Gets the .NET resources
+
+
+
+
+ Gets the MD header
+
+
+
+
+ Gets the tables heap. Access to this heap is not recommended, but is useful if you
+ want to add random table entries.
+
+
+
+
+ Gets the #Strings heap. Access to this heap is not recommended, but is useful if you
+ want to add random strings.
+
+
+
+
+ Gets the #US heap. Access to this heap is not recommended, but is useful if
+ you want to add random user strings.
+
+
+
+
+ Gets the #GUID heap. Access to this heap is not recommended, but is useful if you
+ want to add random GUIDs.
+
+
+
+
+ Gets the #Blob heap. Access to this heap is not recommended, but is useful if you
+ want to add random blobs.
+
+
+
+
+ Gets the #Pdb heap. It's only used if it's portable PDB metadata
+
+
+
+
+ Gets all exported methods
+
+
+
+
+ The public key that should be used instead of the one in .
+
+
+
+
+ Creates a instance
+
+ Module
+ Constants list
+ Method bodies list
+ .NET resources list
+ Options
+ Debug metadata kind
+ A new instance
+
+
+
+
+
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ Gets/sets the bit
+
+
+
+
+ If true, use the original Field RVAs. If it has no RVA, assume it's a new
+ field value and create a new Field RVA.
+
+
+
+
+ Gets the number of methods that will be written.
+
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the new rid
+
+ Value
+ Its new rid or 0
+
+
+
+ Gets the
+
+ Method
+ The or null if is
+ null or not a method defined in this module.
+
+
+
+ Gets a method's local variable signature token
+
+ Method
+ Locals sig token or 0
+
+
+
+ Gets the where the resource data will be stored
+
+ Embedded resource
+ A instance or null if
+ is invalid
+
+
+
+ Gets the where the initial value is stored
+
+ Field
+ A instance or null if
+ is invalid
+
+
+
+ Called when an error is detected
+
+ Error message
+ Optional message arguments
+
+
+
+ Called to warn of something
+
+ Warning message
+ Optional message arguments
+
+
+
+ Raises
+
+ Event
+
+
+
+ Raises the progress event
+
+ Base event
+ Sub progress
+
+
+
+ Creates the .NET metadata tables
+
+
+
+
+ Updates each Method row's RVA column if it has any code
+
+
+
+
+ Updates the FieldRVA rows
+
+
+
+
+ Initializes all TypeDef, Field, Method, Event,
+ Property and Param rows. Other tables that are related to these six
+ tables are also updated. No custom attributes are written yet, though. Method bodies
+ aren't written either.
+
+
+
+
+ Writes TypeDef, Field, Method, Event,
+ Property and Param custom attributes and custom debug infos.
+
+
+
+
+ Adds the tokens of all methods in all vtables, if any
+
+
+
+
+ Adds the entry point. It's only needed if it's a since if it's
+ a , it will have already been added.
+
+
+
+
+ Sorts all unsorted tables except GenericParamConstraint and CustomAttribute
+
+
+
+
+ Initializes the GenericParamConstraint table
+
+
+
+
+ Inserts all custom attribute / custom debug info rows in the tables and sort them
+
+
+
+
+ Writes all method bodies
+
+
+
+
+ Checks whether a list is empty or whether it contains only nulls
+
+ Any type
+ The list
+ true if the list is empty or if it contains only nulls, false otherwise
+
+
+
+
+
+
+
+
+
+ Adds a
+
+ Method signature
+ Original StandAloneSig token or 0 if none
+ Its new rid
+
+
+
+ Adds a
+
+ FIeld signature
+ Original StandAloneSig token or 0 if none
+ Its new rid
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a
+
+ Value
+ Its encoded token
+
+
+
+ Adds a NestedType row
+
+ Nested type
+ Declaring type
+
+
+
+ Adds a Module row
+
+ Module
+ Its new rid
+
+
+
+ Adds a ModuleRef row
+
+ Module ref
+ Its new rid
+
+
+
+ Adds an AssemblyRef row
+
+ Assembly ref
+ Its new rid
+
+
+
+ Adds an Assembly row
+
+ Assembly
+ The public key that should be used
+ Its new rid
+
+
+
+ Adds generic parameters
+
+ New token of owner
+ All generic params
+
+
+
+ Adds a generic param
+
+ New token of owner
+ Generic paramater
+
+
+
+ Adds generic parameter constraints
+
+ New rid of owner generic param
+ Its constraints
+
+
+
+ Adds a generic parameter constraint
+
+ New rid of owner generic param
+ Generic parameter constraint
+
+
+
+ Adds a InterfaceImpl row
+
+ New rid of owner
+ All interfaces
+
+
+
+ Adds a FieldLayout row
+
+ Owner field
+
+
+
+ Adds a FieldMarshal row
+
+ New owner token
+ Owner
+
+
+
+ Adds a FieldRVA row
+
+ The field
+
+
+
+ Adds a ImplMap row
+
+ New owner token
+ Owner
+
+
+
+ Adds a Constant row
+
+ New owner token
+ Owner
+
+
+
+ Adds a DeclSecurity row
+
+ New owner token
+ All DeclSecurity rows
+
+
+
+ Adds MethodSemantics rows
+
+ Event
+
+
+
+ Adds MethodSemantics rows
+
+ Property
+
+
+
+ Adds a ClassLayout row
+
+ Type
+
+
+
+ Adds a File row
+
+ File
+ Its new rid
+
+
+
+ Adds a ExportedType row
+
+ Exported type
+ Its new rid
+
+
+
+ Gets a #Blob offset of a type signature
+
+ Type sig
+ Extra data to append the signature if
+ is true.
+ #Blob offset
+
+
+
+ Gets a #Blob offset of a calling convention signature
+
+ Signature
+ #Blob offset
+
+
+
+ Adds a CustomAttribute row
+
+ Owner table
+ New owner rid
+ Onwer
+
+
+
+ Adds a CustomDebugInformation row
+
+ Owner table
+ New owner rid
+ Onwer
+
+
+
+ Writes the portable PDB to .
+
+ Output stream
+ Entry point token
+ Updated with the offset of the 20-byte PDB ID. The caller is responsible for initializing it with the PDB ID
+
+
+
+
+
+
+
+
+
+
+
+
+ Called before any other methods
+
+
+
+
+ Gets all s that should be saved in the meta data
+
+
+
+
+ Initializes TypeDef rids and creates raw rows, but does not initialize
+ any columns.
+
+
+
+
+ Allocates Field, Method, Property, Event, Param:
+ rid and raw row, but doesn't initialize the raw row.
+ Initializes TypeDef columns: FieldList, MethodList.
+ Initializes Method column: ParamList.
+ Initializes and .
+
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Type reference
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Type spec
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Member ref
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Stand alone sig
+ Its new rid
+
+
+
+ Adds a . Its custom attributes are also added.
+
+ Method spec
+ Its new rid
+
+
+
+ Called before sorting the CustomAttribute table. This is the last time anything
+ can be inserted into this table.
+
+
+
+
+ Called after everything has been initialized. The sub class can initialize more
+ rows if necessary or do nothing. After this method has been called, nothing else
+ can be added.
+
+
+
+
+ Should be called before all chunks get an RVA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sorts the s
+
+ All s
+ A sorted list
+
+
+
+ All events
+
+
+
+
+ Creating the tables has just begun
+
+
+
+
+ Before allocating all TypeDef RIDs
+
+
+
+
+ Before allocating all MemberDef RIDs
+
+
+
+
+ The rids of types, fields, methods, events, properties and parameters are
+ now known.
+
+
+
+
+ The tables and rows of all types, fields, methods, events, properties and parameters
+ have been initialized. Method body RVAs are still not known, and no method has been
+ written yet.
+
+
+
+
+ Before sorting most tables
+
+
+
+
+ Most of the tables that should be sorted have been sorted. The CustomAttribute
+ table is still unsorted since it's not been created yet.
+
+
+
+
+ Custom attributes of all types, fields, methods, events, properties and parameters
+ have now been written.
+
+
+
+
+ All resources are about to be added to the .NET resources table
+
+
+
+
+ All resources have been added to the .NET resources table
+
+
+
+
+ All method bodies are about to be written
+
+
+
+
+ All method bodies have been written. Their RVAs are still not known.
+
+
+
+
+ All tables are now sorted, including the CustomAttribute table.
+
+
+
+
+ All tables have been created and all rows populated. The only columns that haven't
+ been initialized yet are the ones that are RVAs.
+
+
+
+
+ options
+
+
+
+
+ Default version string
+
+
+
+
+ Default header signature
+
+
+
+
+ MD header signature. Default value is
+
+
+
+
+ Major version. Default is 1. MS' CLR supports v0.x (x >= 19) and v1.1, nothing else.
+
+
+
+
+ Minor version. Default is 1.
+
+
+
+
+ Reserved and should be 0.
+
+
+
+
+ Version string. Default is . It's stored as a
+ zero-terminated UTF-8 string. Length should be <= 255 bytes.
+
+
+
+
+ Storage flags should be 0
+
+
+
+
+ Reserved and should be 0
+
+
+
+
+ Creates portable PDB v1.0 options
+
+
+
+
+
+ Meta data header. IMAGE_COR20_HEADER.Metadata points to this header.
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the heaps
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Method body chunk
+
+
+
+
+
+
+
+
+
+
+ Gets the code
+
+
+
+
+ Gets the extra sections (exception handlers) or null
+
+
+
+
+ Gets the token of the locals
+
+
+
+
+ true if it's a fat body
+
+
+
+
+ true if it's a tiny body
+
+
+
+
+ true if there's an extra section
+
+
+
+
+ Constructor
+
+ Code
+
+
+
+ Constructor
+
+ Code
+ Extra sections or null
+
+
+
+ Constructor
+
+ Code
+ Extra sections or null
+ Token of locals
+
+
+
+ Gets the approximate size of the method body (code + exception handlers)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Stores all method body chunks
+
+
+
+
+
+
+
+
+
+
+ Gets the number of bytes saved by re-using method bodies
+
+
+
+
+ Constructor
+
+ true if bodies can be shared
+
+
+
+ Adds a and returns the one that has been cached
+
+ The method body
+ The cached method body
+
+
+ Removes the specified method body from this chunk
+ The method body
+ if the method body is removed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns tokens of token types, strings and signatures
+
+
+
+
+ Gets the token of
+
+ A token type or a string or a signature
+ The token
+
+
+
+ Gets a StandAloneSig token
+
+ All locals
+ The original token or 0 if none
+ A StandAloneSig token or 0 if is
+ empty.
+
+
+
+ Writes CIL method bodies
+
+
+
+
+ Gets the code as a byte array. This is valid only after calling .
+ The size of this array is not necessarily a multiple of 4, even if there are exception
+ handlers present. See also
+
+
+
+
+ Gets the extra sections (exception handlers) as a byte array or null if there
+ are no exception handlers. This is valid only after calling
+
+
+
+
+ Gets the token of the locals
+
+
+
+
+ Constructor
+
+ Helps this instance
+ The CIL method body
+
+
+
+ Constructor
+
+ Helps this instance
+ The CIL method body
+ Keep the original max stack value that has been initialized
+ in
+
+
+
+ Writes the method body
+
+
+
+
+ Gets the code and (possible) exception handlers in one array. The exception handlers
+ are 4-byte aligned.
+
+ The code and any exception handlers
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Base class of all CIL method body writers
+
+
+
+
+
+
+
+
+
+
+ true if there was at least one error
+
+
+
+
+ Constructor
+
+ All instructions
+ All exception handlers
+
+
+
+ Called when an error is detected (eg. a null pointer). The error can be
+ ignored but the method won't be valid.
+
+ Error message
+
+
+
+ Called when an error is detected (eg. a null pointer). The error can be
+ ignored but the method won't be valid.
+
+ Error message
+
+
+
+ Gets max stack value
+
+
+
+
+ Gets the offset of an instruction
+
+ The instruction
+ The offset or 0 if is null or not
+ present in the list of all instructions.
+
+
+
+ Initializes instruction offsets and returns the total code size
+
+ Size of code
+
+
+
+ Gets the size of an instruction
+
+ The instruction
+ Size of the instruction in bytes
+
+
+
+ Writes all instructions to at its current offset
+
+ The instruction writer
+ Number of bytes written
+
+
+
+ Gets the current offset in the instruction stream. This offset is relative to
+ the first written instruction.
+
+ The instruction writer
+ Current offset, relative to the first written instruction
+
+
+
+ Writes an instruction
+
+ The instruction writer
+ The instruction
+
+
+
+ Writes an instruction's opcode
+
+ The instruction writer
+ The instruction
+
+
+
+ Writes an instruction's operand
+
+ The instruction writer
+ The instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes an operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ Writes a operand
+
+ Instruction writer
+ Instruction
+
+
+
+ options
+
+
+
+
+ Constructor
+
+ The module
+
+
+
+ Writes a .NET PE file. See also
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the writer options. This is never null
+
+
+
+
+ Gets all s. The reloc section must be the last section, so use if you need to append a section
+
+
+
+
+ Adds to the sections list, but before the reloc section which must be last
+
+ New section to add to the list
+
+
+
+ Gets the .text section
+
+
+
+
+ Gets the .sdata section
+
+
+
+
+ Gets the .rsrc section or null if none
+
+
+
+
+ Gets the .reloc section
+
+
+
+
+ Gets the PE headers
+
+
+
+
+ Gets the IAT or null if there's none
+
+
+
+
+ Gets the .NET header
+
+
+
+
+ Gets the import directory or null if there's none
+
+
+
+
+ Gets the startup stub or null if there's none
+
+
+
+
+ Gets the reloc directory or null if there's none
+
+
+
+
+ Constructor
+
+ The module
+
+
+
+ Constructor
+
+ The module
+ Options or null
+
+
+
+
+
+
+
+
+
+ Module writer event args
+
+
+
+
+ Gets the writer ( or )
+
+
+
+
+ Gets the event
+
+
+
+
+ Constructor
+
+ Writer
+ Event
+
+
+
+ Module writer progress event args
+
+
+
+
+ Gets the writer ( or )
+
+
+
+
+ Gets the progress, 0.0 - 1.0
+
+
+
+
+ Constructor
+
+ Writer
+ Progress, 0.0 - 1.0
+
+
+
+ Content ID
+
+
+
+
+ Gets the GUID
+
+
+
+
+ Gets the timestamp
+
+
+
+
+ Constructor
+
+ Guid
+ Timestamp
+
+
+
+ Event handler
+
+ Event args type
+ Sender
+ Event args
+
+
+
+ PDB writer options
+
+
+
+
+ No bit is set
+
+
+
+
+ Don't use Microsoft.DiaSymReader.Native. This is a NuGet package with an updated Windows PDB reader/writer implementation,
+ and if it's available at runtime, dnlib will try to use it. If this option is set, dnlib won't use it.
+ You have to add a reference to the NuGet package if you want to use it, dnlib has no reference to the NuGet package.
+
+ This is only used if it's a Windows PDB file.
+
+
+
+
+ Don't use diasymreader.dll's PDB writer that is shipped with .NET Framework.
+
+ This is only used if it's a Windows PDB file.
+
+
+
+
+ Create a deterministic PDB file and add a debug directory entry to the PE file.
+
+ It's ignored if the PDB writer doesn't support it.
+
+
+
+
+ Hash the PDB file and add a PDB checksum debug directory entry to the PE file.
+
+ It's ignored if the PDB writer doesn't support it.
+
+
+
+
+ Common module writer options base class
+
+
+
+
+ Raised at various times when writing the file. The listener has a chance to modify
+ the file, eg. add extra metadata, encrypt methods, etc.
+
+
+
+
+ Raised when the progress is updated
+
+
+
+
+ Gets/sets the logger. If this is null, any errors result in a
+ being thrown. To disable this behavior, either
+ create your own logger or use .
+
+
+
+
+ Gets/sets the writer logger. If this is null, use
+ .
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ Gets/sets the options. This is never null.
+
+
+
+
+ If true, Win32 resources aren't written to the output
+
+
+
+
+ Gets/sets the Win32 resources. If this is null, use the module's
+ Win32 resources if any.
+
+
+
+
+ true to delay sign the assembly. Initialize to the
+ public key to use, and don't initialize . To generate the
+ public key from your strong name key file, execute sn -p mykey.snk mypublickey.snk
+
+
+
+
+ Gets/sets the strong name key. When you enhance strong name sign an assembly,
+ this instance's HashAlgorithm must be initialized to its public key's HashAlgorithm.
+ You should call
+ to initialize this property if you use normal strong name signing.
+ You should call
+ or
+ to initialize this property if you use enhanced strong name signing.
+
+
+
+
+ Gets/sets the new public key that should be used. If this is null, use
+ the public key generated from . If it is also null,
+ use the module's Assembly's public key.
+ You should call
+ or
+ to initialize this property if you use enhanced strong name signing.
+
+
+
+
+ true if method bodies can be shared (two or more method bodies can share the
+ same RVA), false if method bodies can't be shared. Don't enable it if there
+ must be a 1:1 relationship with method bodies and their RVAs.
+ This is enabled by default and results in smaller files.
+
+
+
+
+ true if the PE header CheckSum field should be updated, false if the
+ CheckSum field isn't updated.
+
+
+
+
+ true if it's a 64-bit module, false if it's a 32-bit or AnyCPU module.
+
+
+
+
+ Gets/sets the module kind
+
+
+
+
+ true if it should be written as an EXE file, false if it should be
+ written as a DLL file.
+
+
+
+
+ Set it to true to enable writing a PDB file. Default is false (a PDB file
+ won't be written to disk).
+
+
+
+
+ PDB writer options. This property is ignored if is false.
+
+
+
+
+ PDB file name. If it's null a PDB file with the same name as the output assembly
+ will be created but with a PDB extension. must be true or
+ this property is ignored.
+
+
+
+
+ PDB file name stored in the debug directory, or null to use
+
+
+
+
+ PDB stream. If this is initialized, then you should also set
+ to the name of the PDB file since the file name must be written to the PE debug directory.
+ must be true or this property is ignored.
+
+
+
+
+ Gets the PDB content id (portable PDBs). The argument is the PDB stream with the PDB ID zeroed out,
+ and the 2nd argument is the default timestamp.
+ This property is ignored if a deterministic PDB file is created or if the PDB checksum is calculated.
+
+
+
+
+ PDB checksum algorithm
+
+
+
+
+ true if an .mvid section should be added to the assembly. Not used by native module writer.
+
+
+
+
+ Constructor
+
+ The module
+
+
+
+ Initializes and
+ for normal strong name signing.
+
+ Module
+ Signature strong name key pair
+
+
+
+ Initializes and
+ for enhanced strong name signing (without key migration). See
+ http://msdn.microsoft.com/en-us/library/hh415055.aspx
+
+ Module
+ Signature strong name key pair
+ Signature public key
+
+
+
+ Initializes and
+ for enhanced strong name signing (with key migration). See
+ http://msdn.microsoft.com/en-us/library/hh415055.aspx
+
+ Module
+ Signature strong name key pair
+ Signature public key
+ Identity strong name key pair
+ Identity public key
+
+
+
+ Module writer base class
+
+
+
+ Default alignment of all constants
+
+
+ Default alignment of all method bodies
+
+
+ Default alignment of all .NET resources
+
+
+ Default alignment of the .NET metadata
+
+
+ Default Win32 resources alignment
+
+
+ Default strong name signature alignment
+
+
+ Default COR20 header alignment
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ Offset where the module is written. Usually 0.
+
+
+ Debug directory
+
+
+
+ Strong name signature
+
+
+
+
+ Returns the module writer options
+
+
+
+
+ Gets the destination stream
+
+
+
+
+ Gets the constants
+
+
+
+
+ Gets the method bodies
+
+
+
+
+ Gets the .NET resources
+
+
+
+
+ Gets the .NET metadata
+
+
+
+
+ Gets the Win32 resources or null if there's none
+
+
+
+
+ Gets the strong name signature or null if there's none
+
+
+
+
+ Gets all s. The reloc section must be the last section, so use if you need to append a section
+
+
+
+
+ Adds to the sections list, but before the reloc section which must be last
+
+ New section to add to the list
+
+
+
+ Gets the .text section
+
+
+
+
+ Gets the .rsrc section or null if there's none
+
+
+
+
+ Gets the debug directory or null if there's none
+
+
+
+
+ true if this is a , false if
+ this is a .
+
+
+
+
+ null if we're not writing a PDB
+
+
+
+
+ Writes the module to a file
+
+ File name. The file will be truncated if it exists.
+
+
+
+ Writes the module to a
+
+ Destination stream
+
+
+
+ Returns the module that is written
+
+
+
+
+ Writes the module to . Event listeners and
+ have been initialized when this method is called.
+
+ Number of bytes written
+
+
+
+ Creates the strong name signature if the module has one of the strong name flags
+ set or wants to sign the assembly.
+
+
+
+
+ Creates the .NET metadata chunks (constants, method bodies, .NET resources,
+ the metadata, and Win32 resources)
+
+
+
+
+
+ Gets the Win32 resources that should be written to the new image or null if none
+
+
+
+
+ Calculates and of all s
+
+ All chunks
+ Starting file offset
+ Starting RVA
+ File alignment
+ Section alignment
+
+
+
+ Writes all chunks to
+
+ The writer
+ All chunks
+ File offset of first chunk
+ File alignment
+
+
+
+ Strong name sign the assembly
+
+ Strong name signature offset
+
+
+
+ Creates the debug directory if a PDB file should be written
+
+
+
+
+ Write the PDB file. The caller should send the PDB events before and after calling this
+ method.
+
+
+
+
+ Gets the timestamp stored in the PE header
+
+
+
+
+
+ Raises a writer event
+
+ Event
+
+
+
+
+
+
+
+
+
+ Logs an error message
+
+ Format
+ Format args
+
+
+
+ Logs a warning message
+
+ Format
+ Format args
+
+
+
+ All / events
+
+
+
+
+ Writing has just begun
+
+
+
+
+ All PE sections have been created
+
+
+
+
+ All chunks have been created
+
+
+
+
+ All chunks have been added to their sections
+
+
+
+
+ Original event: .
+ Creating the metadata tables has just begun
+
+
+
+
+ Original event: .
+ Before allocating all TypeDef RIDs
+
+
+
+
+ Original event: .
+ Before allocating all MemberDef RIDs
+
+
+
+
+ Original event: .
+ The rids of types, fields, methods, events, properties and parameters are
+ now known.
+
+
+
+
+ Original event: .
+ The tables and rows of all types, fields, methods, events, properties and parameters
+ have been initialized. Method body RVAs are still not known, and no method has been
+ written yet.
+
+
+
+
+ Original event: .
+ Before sorting most tables
+
+
+
+
+ Original event: .
+ Most of the tables that should be sorted have been sorted. The CustomAttribute
+ table is still unsorted since it's not been created yet.
+
+
+
+
+ Original event: .
+ Custom attributes of all types, fields, methods, events, properties and parameters
+ have now been written.
+
+
+
+
+ Original event: .
+ All resources are about to be added to the .NET resources table
+
+
+
+
+ Original event: .
+ All resources have been added to the .NET resources table
+
+
+
+
+ Original event: .
+ All method bodies are about to be written
+
+
+
+
+ Original event: .
+ All method bodies have been written. Their RVAs are still not known.
+
+
+
+
+ Original event: .
+ All tables are now sorted, including the CustomAttribute table.
+
+
+
+
+ Original event: .
+ All tables have been created and all rows populated. The only columns that haven't
+ been initialized yet are the ones that are RVAs.
+
+
+
+
+ This event occurs before the PDB file is written. This event occurs even if no PDB file
+ will be written.
+
+
+
+
+ The PDB file has been written. This event occurs even if no PDB file has been written.
+
+
+
+
+ This event occurs just before all RVAs and file offsets of the chunks are calculated.
+
+
+
+
+ File offsets and RVAs of all chunks are now known. This includes method body and
+ field RVAs. Nothing has been written to the destination stream yet.
+
+
+
+
+ This event occurs before all chunks are written to the destination stream, and after
+ all RVAs and file offsets are known.
+
+
+
+
+ All chunks have been written to the destination stream.
+
+
+
+
+ This event occurs before the strong name signature is calculated. This event
+ occurs even if the assembly isn't strong name signed.
+
+
+
+
+ This event occurs after the strong name signature has been calculated. This event
+ occurs even if the assembly isn't strong name signed.
+
+
+
+
+ This event occurs before the checksum in the PE header is updated. This event
+ occurs even if the checksum isn't updated.
+
+
+
+
+ This event occurs after the checksum in the PE header has been updated. This event
+ occurs even if the checksum isn't updated.
+
+
+
+
+ Writing has ended
+
+
+
+
+ Thrown when the module writer encounters an unrecoverable error
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Error message
+
+
+
+ Constructor
+
+ Error message
+ Other exception
+
+
+
+ Constructor
+
+
+
+
+
+
+ options
+
+
+
+
+ If true, any extra data after the PE data in the original file is also saved
+ at the end of the new file. Enable this option if some protector has written data to
+ the end of the file and uses it at runtime.
+
+
+
+
+ If true, keep the original Win32 resources
+
+
+
+
+ Constructor
+
+ Module
+ true to optimize the image size so it's as small as possible.
+ Since the file can contain native methods and other native data, we re-use the
+ original file when writing the new file. If is true,
+ we'll try to re-use the old method body locations in the original file and
+ also try to fit the new metadata in the old metadata location.
+
+
+
+ A module writer that supports saving mixed-mode modules (modules with native code).
+ The original image will be re-used. See also
+
+
+
+ The original .NET module
+
+
+ All options
+
+
+
+ Any extra data found at the end of the original file. This is null if there's
+ no extra data or if is
+ false.
+
+
+
+ The original PE sections and their data
+
+
+ Original PE image
+
+
+ New sections we've added and their data
+
+
+ New .text section where we put some stuff, eg. .NET metadata
+
+
+ The new COR20 header
+
+
+
+ New .rsrc section where we put the new Win32 resources. This is null if there
+ are no Win32 resources or if
+ is true
+
+
+
+
+ Offset in of the PE checksum field.
+
+
+
+
+ Original PE section
+
+
+
+ PE section
+
+
+ PE section data
+
+
+
+ Constructor
+
+ PE section
+
+
+
+
+
+
+
+
+
+ Gets the module
+
+
+
+
+
+
+
+
+
+
+ Gets/sets the writer options. This is never null
+
+
+
+
+ Gets all s
+
+
+
+
+ Gets the original PE sections and their data
+
+
+
+
+ Gets the .text section
+
+
+
+
+ Gets the .rsrc section or null if there's none
+
+
+
+
+ Constructor
+
+ The module
+ Options or null
+
+
+
+
+
+
+
+
+
+ Gets the raw section data of the image. The sections are saved in
+ .
+
+
+
+
+ Creates the PE header "section"
+
+
+
+
+ Saves any data that is appended to the original PE file
+
+
+
+
+ true if image is 64-bit
+
+
+
+
+ Updates the PE header and COR20 header fields that need updating. All sections are
+ also updated, and the new ones are added.
+
+
+
+
+ Converts to a file offset in the destination stream
+
+ RVA
+
+
+
+ Gets the entry point
+
+ Updated with entry point (either a token or RVA of native method)
+ true if it's a managed entry point or there's no entry point,
+ false if it's a native entry point
+
+
+
+ .NET resources
+
+
+
+
+
+
+
+
+
+
+ Gets offset of next resource. This offset is relative to the start of
+ the .NET resources and is always aligned.
+
+
+
+
+ Constructor
+
+ Alignment of all resources
+
+
+
+ Adds a resource
+
+ The resource data
+ The resource data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Does not preserve metadata tokens
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #Pdb heap
+
+
+
+
+
+
+
+ Gets the PDB ID. This is always 20 bytes in size.
+
+
+
+
+ Gets/sets the entry point token
+
+
+
+
+ Gets the offset of the 20-byte PDB ID
+
+
+
+
+ Gets/sets the referenced type system tables
+
+
+
+
+ Gets the type system table rows. This table has 64 elements.
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+
+
+ options
+
+
+
+
+ Default DLL characteristics
+
+
+
+
+ Default subsystem value
+
+
+
+
+ Default major linker version. Roslyn C# defaults to 0x30, and Roslyn VB defaults to 0x50.
+
+
+
+
+ Default minor linker version
+
+
+
+
+ IMAGE_FILE_HEADER.Machine value
+
+
+
+
+ IMAGE_FILE_HEADER.TimeDateStamp value
+
+
+
+
+ IMAGE_FILE_HEADER.PointerToSymbolTable value
+
+
+
+
+ IMAGE_FILE_HEADER.NumberOfSymbols value
+
+
+
+
+ IMAGE_FILE_HEADER.Characteristics value. bit
+ is ignored and set/cleared depending on whether it's a EXE or a DLL file.
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorLinkerVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorLinkerVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.ImageBase value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SectionAlignment value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.FileAlignment value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorOperatingSystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorOperatingSystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorImageVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorImageVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MajorSubsystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.MinorSubsystemVersion value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.Win32VersionValue value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.Subsystem value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.DllCharacteristics value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfStackReserve value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfStackCommit value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfHeapReserve value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.SizeOfHeapCommit value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.LoaderFlags value
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.NumberOfRvaAndSizes value
+
+
+
+
+ Creates a new time date stamp using current time
+
+ A new time date stamp
+
+
+
+ DOS and PE headers
+
+
+
+
+ Gets/sets the native entry point
+
+
+
+
+ Gets/sets the COR20 header
+
+
+
+
+ Gets/sets the IAT
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the Win32 resources
+
+
+
+
+ Gets/sets the relocation directory
+
+
+
+
+ Gets/sets the debug directory
+
+
+
+
+ Gets the image base
+
+
+
+
+ Gets/sets a value indicating whether this is a EXE or a DLL file
+
+
+
+
+
+
+
+
+
+
+ Gets the section alignment
+
+
+
+
+ Gets the file alignment
+
+
+
+
+ Gets/sets the s
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Calculates the PE checksum and writes it to the checksum field
+
+ Writer
+ Length of PE file
+
+
+
+ A PE section
+
+
+
+
+ Gets the name
+
+
+
+
+ Gets the Characteristics
+
+
+
+
+ true if this is a code section
+
+
+
+
+ true if this is an initialized data section
+
+
+
+
+ true if this is an uninitialized data section
+
+
+
+
+ Constructor
+
+ Section name
+ Section characteristics
+
+
+
+ Writes the section header to at its current position.
+ Returns aligned virtual size (aligned to )
+
+ Writer
+ File alignment
+ Section alignment
+ Current
+
+
+
+ Preserves metadata tokens
+
+
+
+
+ Its real rid
+
+
+
+
+ Its logical rid or real rid. If the ptr table exists (eg. MethodPtr), then it's
+ an index into it, else it's the real rid.
+
+
+
+
+ Gets total number of defs in the list. It does not necessarily return
+ the table size. Use for that.
+
+
+
+
+ Gets the number of rows that need to be created in the table
+
+
+
+
+ Returns true if the ptr table (eg. MethodPtr) is needed
+
+
+
+
+ Sorts the table
+
+ Comparer
+
+
+
+ Adds a def. must be called after adding the last def.
+
+ The def
+ Collection position
+
+
+
+ Must be called after 'ing the last def
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reserves rows in TypeRef, MemberRef, StandAloneSig,
+ TypeSpec and MethodSpec where we will store the original rows
+ to make sure they get the same rid. Any user created rows will be stored at
+ the end of each table.
+
+
+
+
+ Adds any non-referenced rows that haven't been added yet but are present in
+ the original file. If there are any non-referenced rows, it's usually a sign
+ that an obfuscator has encrypted one or more methods or that it has added
+ some rows it uses to decrypt something.
+
+
+
+
+
+
+
+ Re-uses all Field rows which aren't owned by any type due to the fields
+ having been deleted by the user. The reason we must do this is that the
+ FieldPtr and Field tables must be the same size.
+
+
+
+
+ Re-uses all Method rows which aren't owned by any type due to the methods
+ having been deleted by the user. The reason we must do this is that the
+ MethodPtr and Method tables must be the same size.
+
+
+
+
+ Re-uses all Param rows which aren't owned by any type due to the params
+ having been deleted by the user. The reason we must do this is that the
+ ParamPtr and Param tables must be the same size.
+ This method must be called after since
+ this method will create more methods at the end of the Method table.
+
+
+
+
+ Re-uses all Event rows which aren't owned by any type due to the events
+ having been deleted by the user. The reason we must do this is that the
+ EventPtr and Event tables must be the same size.
+
+
+
+
+ Re-uses all Property rows which aren't owned by any type due to the properties
+ having been deleted by the user. The reason we must do this is that the
+ PropertyPtr and Property tables must be the same size.
+
+
+
+
+ Creates a dummy TypeDef at the end of the TypeDef table that will own
+ dummy methods and fields. These dummy methods and fields are only created if the size
+ of the ptr table is less than the size of the non-ptr table (eg. size MethodPtr table
+ is less than size Method table). The only reason the ptr table would be smaller than
+ the non-ptr table is when some field/method has been deleted and we must preserve
+ all method/field rids.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Relocations directory
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Machine
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adds a relocation
+
+ RVA of location
+
+
+
+ Adds a relocation
+
+ Chunk or null. If it's null, is the RVA
+ Offset relative to the start of , or if is null, this is the RVA
+
+
+
+ Length of section
+
+
+
+
+ Section characteristics
+
+
+
+
+ Constructor
+
+ Length of section
+ Section characteristics
+
+
+
+ Calculates the optional header section sizes
+
+
+
+
+ Helps map s to tokens
+
+
+
+
+ Returns a TypeDefOrRef encoded token
+
+ A TypeDefOrRef type
+
+
+
+ Writes signatures
+
+
+
+
+ Write a signature
+
+ Helper
+ The type
+ The signature as a byte array
+
+
+
+ Write a signature
+
+ Helper
+ The signature
+ The signature as a byte array
+
+
+
+
+
+
+ Stores the instruction that jumps to _CorExeMain/_CorDllMain
+
+
+
+
+ Gets/sets the
+
+
+
+
+ Gets/sets the
+
+
+
+
+
+
+
+
+
+
+ Gets the address of the JMP instruction
+
+
+
+
+ Constructor
+
+ Reloc directory
+ Machine
+ Error logger
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #Strings heap
+
+
+
+
+
+
+
+ Populates strings from an existing (eg. to preserve
+ string offsets)
+
+ The #Strings stream with the original content
+
+
+
+ Adds a string to the #Strings heap. The returned value is not necessarily an offset in
+ the #Strings heap. Call to get the offset.
+
+ The string
+ The offset id. This is not a #Strings offset. Call to get the #Strings offset
+
+
+
+ Gets the offset of a string in the #Strings heap. This method can only be called after
+ all strings have been added.
+
+ Offset id returned by
+
+
+
+
+ Adds a string to the #Strings heap, but does not re-use an existing position
+
+ The string
+ The offset of the string in the #Strings heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Strong name signature chunk
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Size of strong name signature
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ options
+
+
+
+
+ Should be 0
+
+
+
+
+ Major version number. Default is 2. Valid versions are v1.0 (no generics),
+ v1.1 (generics are supported), or v2.0 (recommended).
+
+
+
+
+ Minor version number. Default is 0.
+
+
+
+
+ Force #- or #~ stream. Default value is null and recommended because the correct
+ tables stream will be used. true will force #- (Edit N' Continue)
+ stream, and false will force #~ (normal compressed) stream.
+
+
+
+
+ Extra data to write
+
+
+
+
+ true if there are deleted s, s,
+ s, s, s and/or
+ s.
+
+
+
+
+ Creates portable PDB v1.0 options
+
+
+
+
+
+ Contains all .NET tables
+
+
+
+
+
+
+
+
+
+
+ All tables
+
+
+
+
+
+
+
+
+
+
+ true if the Edit 'N Continue name will be used (#-)
+
+
+
+
+ true if any rows have been deleted (eg. a deleted TypeDef, Method, Field, etc.
+ Its name has been renamed to _Deleted).
+
+
+
+
+ true if #Strings heap size > 0xFFFF
+
+
+
+
+ true if #GUID heap size > 0xFFFF
+
+
+
+
+ true if #Blob heap size > 0xFFFF
+
+
+
+
+ Constructor
+
+ Metadata owner
+ Options
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Calculates the length. This will set all MD tables to read-only.
+
+
+
+
+
+
+
+
+
+
+ Re-uses existing chunks to save space
+
+ Chunk type
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ Compares the chunk type
+
+
+
+
+
+
+ Adds a if not already present
+
+ The chunk to add or null if none
+ Chunk alignment
+ The original input if it wasn't present, or the cached one
+
+
+
+ #US heap
+
+
+
+
+
+
+
+ Populates strings from an existing (eg. to preserve
+ string tokens)
+
+ The #US stream with the original content
+
+
+
+ Adds a string to the #US heap
+
+ The string
+ The offset of the string in the #US heap
+
+
+
+ Adds a string to the #US heap
+
+ The string
+ The offset of the string in the #US heap
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Writes Win32 resources
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Win32 resources
+
+
+
+ Returns the and of a
+ . must have been called.
+
+ A
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The RVA or 0 if is invalid
+
+
+
+ Returns the and of a
+ . must have been called.
+
+ A
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The RVA or 0 if is invalid
+
+
+
+ Returns the and of a
+ . must have been called.
+
+ A
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a .
+ must have been called.
+
+ A
+ The RVA or 0 if is invalid
+
+
+
+ Returns the and of a
+ 's name. must have been
+ called.
+
+ The name of a
+ Updated with the file offset
+ Updated with the RVA
+ true if is valid and
+ and have been updated. false
+ if is not part of the Win32 resources.
+
+
+
+ Returns the of a 's name.
+ must have been called.
+
+ The name of a
+ The file offset or 0 if is invalid
+
+
+
+ Returns the of a 's name.
+ must have been called.
+
+ The name of a
+ The RVA or 0 if is invalid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A that reads from a byte array
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Creates a instance
+
+ Data
+ The filename or null if the data is not from a file
+
+
+
+
+ Creates a data reader
+
+ Data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ This method doesn't need to be called since a has nothing that must be cleaned up
+
+
+
+
+ Thrown by a when it can't read data or if the caller tries to set an invalid offset
+
+
+
+
+ Reads data
+
+
+
+
+ Gets the start offset of the data
+
+
+
+
+ Gets the end offset of the data, not inclusive
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Gets the current offset. This is between and (inclusive)
+
+
+
+
+ Gets/sets the position relative to
+
+
+
+
+ Gets the number of bytes that can be read without throwing an exception
+
+
+
+
+ Constructor
+
+ Stream
+ Start offset of data
+ Length of data
+
+
+
+ Resets the reader so it points to the start of the data
+
+
+
+
+ Creates a new reader that can access a smaller part of this reader
+
+ Start position relative to
+ Length of data
+
+
+
+
+ Creates a new reader that can access everything from to the end of the data
+
+ Start position relative to
+
+
+
+
+ Creates a new reader that can access a smaller part of this reader
+
+ Start position relative to
+ Length of data
+
+
+
+
+ Creates a new reader that can access everything from to the end of the data
+
+ Start position relative to
+
+
+
+
+ Checks if it's possible to read bytes
+
+ Length of data
+
+
+
+
+ Checks if it's possible to read bytes
+
+ Length of data
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a
+
+
+
+
+
+ Reads a UTF-16 encoded
+
+ Number of characters to read
+
+
+
+
+ Reads bytes
+
+ Destination pointer
+ Number of bytes to read
+
+
+
+ Reads bytes
+
+ Destination array
+ Destination index
+ Number of bytes to read
+
+
+
+ Reads bytes
+
+ Number of bytes to read
+
+
+
+
+ Reads a compressed
+
+ Uncompressed
+
+
+
+
+ Reads a compressed
+
+
+
+
+
+ Reads a compressed
+
+ Uncompressed
+
+
+
+
+ Reads a compressed
+
+
+
+
+
+ Reads a 7-bit encoded integer
+
+
+
+
+
+ Reads a 7-bit encoded integer
+
+
+
+
+
+ Reads a serialized UTF-8 string
+
+
+
+
+
+ Reads a serialized string
+
+ Encoding
+
+
+
+
+ Returns all data without updating the current position
+
+
+
+
+
+ Returns the remaining data
+
+
+
+
+
+ Reads all bytes until a terminating byte or returns null if wasn't found.
+ If found, the current offset is incremented by the length of the returned data
+
+ Terminating byte value
+
+
+
+
+ Reads a zero-terminated UTF-8 string or returns null if the string couldn't be read.
+ If successful, the current offset is incremented past the terminating zero.
+
+
+
+
+
+ Reads a zero-terminated string or returns null if the string couldn't be read.
+ If successful, the current offset is incremented past the terminating zero.
+
+ Encoding
+
+
+
+
+ Reads a UTF-8 encoded string
+
+ Number of bytes to read (not characters)
+
+
+
+
+ Reads a string
+
+ Number of bytes to read (not characters)
+ Encoding
+
+
+
+
+ Creates a that can access this content. The caller doesn't have to dispose of the returned stream.
+
+
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Temp buffer during writing
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Temp buffer during writing
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Number of bytes written
+
+
+
+ Copies the data, starting from , to
+
+ Destination
+ Temp buffer during writing
+ Number of bytes written
+
+
+
+ Creates s that can read its data.
+
+ This factory class is thread safe and its data can be read by on any thread.
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Creates a data reader that can read all data
+
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a data reader
+
+ Stream
+ Offset of data
+ Length of data
+
+
+
+
+ Raised when all cached s created by this instance must be recreated
+
+
+
+
+ Disposes of this instance
+
+
+
+
+ This class is used by a . The instance
+ verifies that all input are valid before calling any methods in this class.
+ This class is thread safe.
+
+
+
+
+ Reads bytes
+
+ Offset of data
+ Destination pointer
+ Number of bytes to read
+
+
+
+ Reads bytes
+
+ Offset of data
+ Destination array
+ Destination index
+ Number of bytes to read
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a
+
+ Offset of data
+
+
+
+
+ Reads a UTF-16 encoded
+
+ Offset of data
+ Number of characters to read
+
+
+
+
+ Reads a string
+
+ Offset of data
+ Length of string in bytes
+ Encoding
+
+
+
+
+ Gets the data offset of a byte or returns false if the byte wasn't found
+
+ Offset of data
+ End offset of data (not inclusive)
+ Byte value to search for
+ Offset of the byte if found
+
+
+
+
+ Creates s
+
+
+
+
+ Creates a that reads from native memory
+
+ Pointer to data
+
+
+
+
+ Creates a that reads from a byte array
+
+ Data
+
+
+
+
+ Represents a file offset
+
+
+
+
+ Extension methods
+
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Base class for classes needing to implement IFileSection
+
+
+
+
+ The start file offset of this section
+
+
+
+
+ Size of the section
+
+
+
+
+
+
+
+
+
+
+ Set to 's current position
+
+ The reader
+
+
+
+ Set according to 's current position
+
+ The reader
+
+
+
+ Represents a section in a file
+
+
+
+
+ Start offset of the section in the file
+
+
+
+
+ End offset of the section in the file. This is one byte after the last
+ valid offset in the section.
+
+
+
+
+ Creates s that read memory mapped data
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Raised when all cached s created by this instance must be recreated
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ Cleans up and frees all allocated memory
+
+
+
+
+ true if memory mapped I/O is enabled
+
+
+
+
+ Call this to disable memory mapped I/O. This must only be called if no other code is
+ trying to access the memory since that could lead to an exception.
+
+
+
+
+ Creates s that read native memory
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Gets the total length of the data
+
+
+
+
+ Creates a instance
+
+ Pointer to data
+ Length of data
+ The filename or null if the data is not from a file
+
+
+
+
+ Creates a data reader
+
+ Offset of data
+ Length of data
+
+
+
+
+ This method doesn't need to be called since this instance doesn't own the native memory
+
+
+
+
+ IMAGE_FILE_HEADER.Characteristics flags
+
+
+
+ Relocation info stripped from file.
+
+
+ File is executable (i.e. no unresolved externel references).
+
+
+ Line nunbers stripped from file.
+
+
+ Local symbols stripped from file.
+
+
+ Agressively trim working set
+
+
+ App can handle >2gb addresses
+
+
+
+
+
+ Bytes of machine word are reversed.
+
+
+ 32 bit word machine.
+
+
+ Debugging info stripped from file in .DBG file
+
+
+ If Image is on removable media, copy and run from the swap file.
+
+
+ If Image is on Net, copy and run from the swap file.
+
+
+ System File.
+
+
+ File is a DLL.
+
+
+ File should only be run on a UP machine
+
+
+ Bytes of machine word are reversed.
+
+
+
+ IMAGE_OPTIONAL_HEADER.DllCharacteristics
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Image can handle a high entropy 64-bit virtual address space.
+
+
+ DLL can move.
+
+
+ Code Integrity Image
+
+
+ Image is NX compatible
+
+
+ Image understands isolation and doesn't want it
+
+
+ Image does not use SEH. No SE handler may reside in this image
+
+
+ Do not bind this image.
+
+
+ Image should execute in an AppContainer
+
+
+ Driver uses WDM model
+
+
+ Image supports Control Flow Guard.
+
+
+
+
+
+
+ Interface for PE optional header classes
+
+
+
+
+ Returns the Magic field
+
+
+
+
+ Returns the MajorLinkerVersion field
+
+
+
+
+ Returns the MinorLinkerVersion field
+
+
+
+
+ Returns the SizeOfCode field
+
+
+
+
+ Returns the SizeOfInitializedData field
+
+
+
+
+ Returns the SizeOfUninitializedData field
+
+
+
+
+ Returns the AddressOfEntryPoint field
+
+
+
+
+ Returns the BaseOfCode field
+
+
+
+
+ Returns the BaseOfData field
+
+
+
+
+ Returns the ImageBase field
+
+
+
+
+ Returns the SectionAlignment field
+
+
+
+
+ Returns the FileAlignment field
+
+
+
+
+ Returns the MajorOperatingSystemVersion field
+
+
+
+
+ Returns the MinorOperatingSystemVersion field
+
+
+
+
+ Returns the MajorImageVersion field
+
+
+
+
+ Returns the MinorImageVersion field
+
+
+
+
+ Returns the MajorSubsystemVersion field
+
+
+
+
+ Returns the MinorSubsystemVersion field
+
+
+
+
+ Returns the Win32VersionValue field
+
+
+
+
+ Returns the SizeOfImage field
+
+
+
+
+ Returns the SizeOfHeaders field
+
+
+
+
+ Returns the CheckSum field
+
+
+
+
+ Returns the Subsystem field
+
+
+
+
+ Returns the DllCharacteristics field
+
+
+
+
+ Returns the SizeOfStackReserve field
+
+
+
+
+ Returns the SizeOfStackCommit field
+
+
+
+
+ Returns the SizeOfHeapReserve field
+
+
+
+
+ Returns the SizeOfHeapCommit field
+
+
+
+
+ Returns the LoaderFlags field
+
+
+
+
+ Returns the NumberOfRvaAndSizes field
+
+
+
+
+ Returns the DataDirectories field. This array contains exactly 16 elements.
+
+
+
+
+ Represents the IMAGE_DATA_DIRECTORY PE section
+
+
+
+
+ Returns the IMAGE_DATA_DIRECTORY.VirtualAddress field
+
+
+
+
+ Returns the IMAGE_DATA_DIRECTORY.Size field
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ A IMAGE_DEBUG_DIRECTORY
+
+
+
+
+ Gets the characteristics (reserved)
+
+
+
+
+ Gets the timestamp
+
+
+
+
+ Gets the major version
+
+
+
+
+ Gets the minor version
+
+
+
+
+ Gets the type
+
+
+
+
+ Gets the size of data
+
+
+
+
+ RVA of the data
+
+
+
+
+ File offset of the data
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Image debug type, see IMAGE_DEBUG_TYPE_* in winnt.n
+
+
+
+
+ Contains PDB info
+
+
+
+
+ It's a deterministic (reproducible) PE file
+
+
+
+
+ Embedded portable PDB data
+
+
+
+
+ Checksum of the PDB file. 0 or more entries allowed.
+
+
+
+
+ Represents the IMAGE_DOS_HEADER PE section
+
+
+
+
+ File offset of the NT headers
+
+
+
+
+ Constructor
+
+ PE file reader
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_FILE_HEADER PE section
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.Machine field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.NumberOfSections field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.TimeDateStamp field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.PointerToSymbolTable field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.NumberOfSymbols field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.SizeOfOptionalHeader field
+
+
+
+
+ Returns the IMAGE_FILE_HEADER.Characteristics field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_NT_HEADERS PE section
+
+
+
+
+ Returns the IMAGE_NT_HEADERS.Signature field
+
+
+
+
+ Returns the IMAGE_NT_HEADERS.FileHeader field
+
+
+
+
+ Returns the IMAGE_NT_HEADERS.OptionalHeader field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Creates an IImageOptionalHeader
+
+ PE file reader pointing to the start of the optional header
+ Verify section
+ The created IImageOptionalHeader
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_OPTIONAL_HEADER (32-bit) PE section
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.Magic field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfCode field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfInitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfUninitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.AddressOfEntryPoint field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.BaseOfCode field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.BaseOfData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.ImageBase field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SectionAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.FileAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MajorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.MinorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.Win32VersionValue field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfImage field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfHeaders field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.CheckSum field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.Subsystem field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.DllCharacteristics field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfStackReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfStackCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfHeapReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.SizeOfHeapCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.LoaderFlags field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.NumberOfRvaAndSizes field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER.DataDirectories field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Total size of this optional header (from the file header)
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_OPTIONAL_HEADER64 PE section
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.Magic field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorLinkerVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfCode field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfInitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfUninitializedData field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.AddressOfEntryPoint field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.BaseOfCode field
+
+
+
+
+ Returns 0 since BaseOfData is not present in IMAGE_OPTIONAL_HEADER64
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.ImageBase field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SectionAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.FileAlignment field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorOperatingSystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorImageVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MajorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.MinorSubsystemVersion field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.Win32VersionValue field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfImage field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfHeaders field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.CheckSum field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.Subsystem field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.DllCharacteristics field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfStackReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfStackCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfHeapReserve field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.SizeOfHeapCommit field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.LoaderFlags field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.NumberOfRvaAndSizes field
+
+
+
+
+ Returns the IMAGE_OPTIONAL_HEADER64.DataDirectories field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Total size of this optional header (from the file header)
+ Verify section
+ Thrown if verification fails
+
+
+
+ Represents the IMAGE_SECTION_HEADER PE section
+
+
+
+
+ Returns the human readable section name, ignoring everything after
+ the first nul byte
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.Name field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.VirtualSize field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.VirtualAddress field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.SizeOfRawData field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.PointerToRawData field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.PointerToRelocations field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.PointerToLinenumbers field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.NumberOfRelocations field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.NumberOfLinenumbers field
+
+
+
+
+ Returns the IMAGE_SECTION_HEADER.Characteristics field
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify section
+ Thrown if verification fails
+
+
+
+ Converts s to/from s
+
+
+
+
+ Converts a to an
+
+ The file offset to convert
+ The RVA
+
+
+
+ Converts an to a
+
+ The RVA to convert
+ The file offset
+
+
+
+ Interface to access a PE image
+
+
+
+
+ true if image layout is the same as the raw PE image layout, false
+ if it's the same layout as a PE image loaded by the OS PE loader.
+
+
+
+
+ true if some of the memory where the image is located could be unavailable.
+ This could happen if it's been loaded by the OS loader.
+
+
+
+
+ The filename or null if the data is not from a file
+
+
+
+
+ Returns the DOS header
+
+
+
+
+ Returns the NT headers
+
+
+
+
+ Returns the section headers
+
+
+
+
+ Returns the debug directories
+
+
+
+
+ Gets/sets the Win32 resources. This is null if there are no Win32 resources.
+
+
+
+
+ Gets the factory
+
+
+
+
+ Creates a from to the end of the image
+
+ Offset of data
+
+
+
+
+ Creates a
+
+ Offset of data
+ Length of data
+
+
+
+
+ Creates a from to the end of the image
+
+ RVA of data
+
+
+
+
+ Creates a
+
+ RVA of data
+ Length of data
+
+
+
+
+ Creates a that can read the whole image
+
+
+
+
+
+ Interface to access a PE image
+
+
+
+
+ Call this to disable memory mapped I/O if it was used to open the file. This must only
+ be called if no other code is trying to access the memory since that could lead to an
+ exception.
+
+
+
+
+ true if memory mapped I/O is enabled
+
+
+
+
+ Extension methods
+
+
+
+
+ Finds a
+
+ this
+ Type
+ Name
+ Language ID
+ The or null if none found
+
+
+
+ Calculates a PE checksum
+
+ PE image stream positioned at the MZ bytes
+ Length of image
+ Offset of checksum
+ PE checksum
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Align up
+
+ this
+ Alignment
+
+
+
+ Converts a to/from an
+
+
+
+
+ Converts a to an
+
+ The PEInfo context
+ The file offset to convert
+ The RVA
+
+
+
+ Converts an to a
+
+ The PEInfo context
+ The RVA to convert
+ The file offset
+
+
+
+ IMAGE_FILE_HEADER.Machine enum
+
+
+
+ Unknown machine
+
+
+ x86
+
+
+ MIPS little-endian, 0x160 big-endian
+
+
+ MIPS little-endian
+
+
+ MIPS little-endian
+
+
+ MIPS little-endian WCE v2
+
+
+ Alpha_AXP
+
+
+ SH3 little-endian
+
+
+
+
+
+ SH3E little-endian
+
+
+ SH4 little-endian
+
+
+ SH5
+
+
+ ARM Little-Endian
+
+
+ ARM Thumb/Thumb-2 Little-Endian
+
+
+ ARM Thumb-2 Little-Endian
+
+
+
+
+
+ IBM PowerPC Little-Endian
+
+
+
+
+
+ IA-64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Infineon
+
+
+
+
+
+ EFI Byte Code
+
+
+ x64
+
+
+ M32R little-endian
+
+
+
+
+
+
+
+
+
+ Extensions
+
+
+
+
+ Checks if is a 64-bit machine
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Checks if is , , etc...
+
+ Machine
+
+
+
+
+ Image layout
+
+
+
+
+ Use this if the PE file has a normal structure (eg. it's been read from a file on disk)
+
+
+
+
+ Use this if the PE file has been loaded into memory by the OS PE file loader
+
+
+
+
+ Accesses a PE file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor
+
+ Data reader factory
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ Name of the file
+ true if we should map it as an executable
+ Verify PE file data
+
+
+
+ Constructor
+
+ Name of the file
+ Verify PE file data
+
+
+
+ Constructor
+
+ Name of the file
+
+
+
+ Constructor
+
+ The PE file data
+ Filename or null
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Filename or null
+ Verify PE file data
+
+
+
+ Constructor
+
+ The PE file data
+
+
+
+ Constructor
+
+ The PE file data
+ Filename or null
+
+
+
+ Constructor
+
+ Address of PE image
+ Length of PE image
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+ Length of PE image
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+ Length of PE image
+
+
+
+ Constructor
+
+ Address of PE image
+ Image layout
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+ Verify PE file data
+
+
+
+ Constructor
+
+ Address of PE image
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reads all PE sections from a PE stream
+
+
+
+
+ Returns the DOS header
+
+
+
+
+ Returns the NT headers
+
+
+
+
+ Returns the section headers
+
+
+
+
+ Constructor
+
+ PE file reader pointing to the start of this section
+ Verify sections
+ Thrown if verification fails
+
+
+
+ Returns the first that has data at file offset
+
+
+ The file offset
+
+
+
+
+ Returns the first that has data at RVA
+
+
+ The RVA
+
+
+
+
+ Converts a to an
+
+ The file offset to convert
+ The RVA
+
+
+
+ Converts an to a
+
+ The RVA to convert
+ The file offset
+
+
+
+ Returns size of image rounded up to
+
+ It calculates the size itself, and does not return
+ Size of image in bytes
+
+
+
+ Represents an RVA (relative virtual address)
+
+
+
+
+ IMAGE_OPTIONAL_HEADER.Subsystem
+
+
+
+ Unknown subsystem.
+
+
+ Image doesn't require a subsystem.
+
+
+ Image runs in the Windows GUI subsystem.
+
+
+ Image runs in the Windows character subsystem.
+
+
+ image runs in the OS/2 character subsystem.
+
+
+ image runs in the Posix character subsystem.
+
+
+ image is a native Win9x driver.
+
+
+ Image runs in the Windows CE subsystem.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ dnlib settings
+
+
+
+
+ true if dnlib is thread safe. (THREAD_SAFE was defined during compilation)
+
+
+
+
+ Cancellation token interface
+
+
+
+
+ Throws a if the operation should be canceled
+
+
+
+
+ Simple class using Monitor.Enter() and Monitor.Exit()
+ and just like ReaderWriterLockSlim it prevents recursive locks. It doesn't support
+ multiple readers. A reader lock is the same as a writer lock.
+
+
+
+
+ Creates a new instance of this class
+
+
+
+
+
+ Constructor
+
+
+
+
+ Enter read mode
+
+
+
+
+ Exit read mode
+
+
+
+
+ Enter write mode
+
+
+
+
+ Exit write mode
+
+
+
+
+ Interface to access a lazily initialized list
+
+ Type to store in list
+
+
+
+ Gets notified of list events
+
+ List value
+
+
+
+ Called before a new value is lazily added to the list.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index where the value will be added
+ Value that will be added to the list. It can be modified by
+ the callee.
+
+
+
+ Called before a new value is added to the list.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index where the value will be added
+ Value that will be added to the list
+
+
+
+ Called before a value is removed from the list. If all elements are removed,
+ is called, and this method is not called.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index of value
+ The value that will be removed
+
+
+
+ Called after the list has been resized (eg. an element has been added/removed). It's not
+ called when an element is replaced.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+ Index where the change occurred.
+
+
+
+ Called before the whole list is cleared.
+
+ If you must access this list, you can only call _NoLock() methods
+ since a write lock is now held by this thread.
+
+
+
+ Implements a that is lazily initialized
+
+ Type to store in list
+
+
+
+ Stores a simple value
+
+
+
+
+ true if it has been initialized, false otherwise
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor that should be used when new elements are inserted into
+
+ User data
+
+
+
+ Gets the value
+
+ Index in the list
+
+
+
+ Sets the value
+
+ Index in the list
+ New value
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ List listener
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enumerator
+
+
+
+
+ Gets the current value
+
+
+
+
+ Moves to the next element in the collection
+
+
+
+
+
+ Disposes the enumerator
+
+
+
+
+ Gets the list enumerator
+
+
+
+
+
+
+
+
+ Implements a that is lazily initialized
+
+ Type to store in list
+ Type of the context passed to the read-value delegate
+
+
+
+ Stores data and keeps track of the original index and whether the data has been
+ initialized or not.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Constructor that should only be called when is initialized.
+
+ Original index of this element
+ LazyList instance
+
+
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor
+
+ List listener
+
+
+
+ Constructor
+
+ Initial length of the list
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ Constructor
+
+ Initial length of the list
+ List listener
+ Context passed to
+ Delegate instance that returns original values
+
+
+
+ A readonly list that gets initialized lazily
+
+ Any class type
+
+
+
+ Gets the length of this list
+
+
+
+
+ Access the list
+
+ Index
+ The element or null if is invalid
+
+
+
+ Constructor
+
+ Length of the list
+ Delegate instance that lazily reads an element. It might
+ be called more than once for each rid in rare cases. It must never return
+ null.
+
+
+
+ A readonly list that gets initialized lazily
+
+ Any class type
+
+
+
+ Gets the length of this list
+
+
+
+
+ Access the list
+
+ Index
+ Generic parameter context
+ The element or null if is invalid
+
+
+
+ Constructor
+
+ Length of the list
+ Delegate instance that lazily reads an element. It might
+ be called more than once for each rid. It must never return null.
+
+
+
+ Lazily returns the original value if the user hasn't overwritten the value
+
+ Value type
+
+
+
+ Sets the lock that protects the data
+
+
+
+
+ Set a delegate instance that will return the original value
+
+
+
+
+ Gets/sets the value
+
+ The getter returns the original value if the value hasn't been initialized.
+
+
+
+ Returns true if the value has been initialized
+
+
+
+
+ Returns true if the value was set by the user
+
+
+
+
+ A resource blob
+
+
+
+
+ Gets the data reader
+
+
+
+
+
+ Gets/sets the code page
+
+
+
+
+ Gets/sets the reserved field
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of resource data
+ Length of resource data
+ Name
+
+
+
+ Constructor
+
+ Data reader factory
+ Offset of resource data
+ Length of resource data
+ Name
+ Code page
+ Reserved value
+
+
+
+ A Win32 resource directory (see IMAGE_RESOURCE_DIRECTORY in the Windows SDK)
+
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+ See
+
+
+
+ Gets/sets the characteristics
+
+
+
+
+ Gets/sets the time date stamp
+
+
+
+
+ Gets/sets the major version number
+
+
+
+
+ Gets/sets the minor version number
+
+
+
+
+ Gets all directory entries
+
+
+
+
+ Gets all resource data
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ Finds a by name
+
+ Name
+ A or null if it wasn't found
+
+
+
+ Finds a by name
+
+ Name
+ A or null if it wasn't found
+
+
+
+ A Win32 resource directory created by the user
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+ A Win32 resource directory created from a PE file
+
+
+
+
+ To make sure we don't get stuck in an infinite loop, don't allow more than this
+ many sub directories.
+
+
+
+ Owner
+
+
+ Directory depth. When creating more 's,
+ the instances get this value + 1
+
+
+
+ Info about all 's we haven't created yet
+
+
+
+
+ Info about all 's we haven't created yet
+
+
+
+ Offset of resource directory / data
+
+
+
+ Constructor
+
+ Starts from 0. If it's big enough, we'll stop reading more data.
+ Name
+ Resources
+ Reader positioned at the start of this resource directory
+
+
+
+ Reads the directory header and initializes and
+ .
+
+
+
+
+
+ Reads a string
+
+ Reader
+ Offset of string
+ The string or null if we could not read it
+
+
+
+ Base class of and
+
+
+
+
+ Gets/sets the name
+
+
+
+
+ Constructor
+
+ Name
+
+
+
+
+
+
+ A Win32 resource name. It can be either an integer or a string.
+
+
+
+
+ true if is valid
+
+
+
+
+ true if is valid
+
+
+
+
+ The ID. It's only valid if is true
+
+
+
+
+ The name. It's only valid if is true
+
+
+
+
+ Constructor
+
+ ID
+
+
+
+ Constructor
+
+ Name
+
+
+ Converts input to a
+
+
+ Converts input to a
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+ Overloaded operator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Win32 resources base class
+
+
+
+
+ Gets/sets the root directory
+
+
+
+
+ Finds a
+
+ Type
+ The or null if none found
+
+
+
+ Finds a
+
+ Type
+ Name
+ The or null if none found
+
+
+
+ Finds a
+
+ Type
+ Name
+ Language ID
+ The or null if none found
+
+
+
+
+
+
+ Dispose method
+
+ true if called by
+
+
+
+ Win32 resources class created by the user
+
+
+
+
+
+
+
+ Win32 resources class created from a PE file
+
+
+
+
+ Converts data RVAs to file offsets in
+
+
+
+
+ This reader only reads the raw data. The data RVA is found in the data header and
+ it's first converted to a file offset using . This file
+ offset is where we'll read from using this reader.
+
+
+
+
+ This reader only reads the directory entries and data headers. The data is read
+ by
+
+
+
+
+
+
+
+ Gets the resource reader
+
+
+
+
+ Constructor
+
+ / converter
+ Reader for the whole Win32 resources section (usually
+ the .rsrc section). It's used to read 's and
+ 's but not the actual data blob.
+ Offset of resource section
+ Length of resource section
+ true if this instance can dispose of
+ Data reader (it's used after converting an
+ to a )
+ Offset of resource section
+ Length of resource section
+ true if this instance can dispose of
+
+
+
+ Constructor
+
+ The PE image
+
+
+
+ Constructor
+
+ The PE image
+ Reader for the whole Win32 resources section (usually
+ the .rsrc section) or null if we should create one from the resource data
+ directory in the optional header
+ Offset of resource section
+ Length of resource section
+ true if this instance can dispose of
+
+
+
+ Creates a new data reader
+
+ RVA of data
+ Size of data
+
+
+
+
+
+
+