public static string ToReflectionString(this IAssemblySignature assemblySig, SignaturePrintingFlags flags = SignaturePrintingFlags.None) { var printer = new ReflectionSignaturePrinter(flags); printer.PrintAssembly(assemblySig); return(printer.ToString()); }
public static string ToString(this IModuleSignature moduleSig, SignaturePrintingFlags flags = SignaturePrintingFlags.None) { var printer = new SignaturePrinter(flags); printer.PrintModule(moduleSig); return(printer.ToString()); }
public static string ToString(this IEventSignature eventSig, IModule module = null, SignaturePrintingFlags flags = SignaturePrintingFlags.None) { var printer = new SignaturePrinter(flags); printer.PrintEvent(eventSig, module); return(printer.ToString()); }
public static string ToString(this IPropertySignature propertySig, IModule module = null, SignaturePrintingFlags flags = SignaturePrintingFlags.None) { var printer = new SignaturePrinter(flags); printer.PrintProperty(propertySig, module); return(printer.ToString()); }
public static string ToString(this IFieldSignature fieldSig, IModule module = null, SignaturePrintingFlags flags = SignaturePrintingFlags.None) { var printer = new SignaturePrinter(flags); printer.PrintField(fieldSig, module); return(printer.ToString()); }
public static string ToReflectionString(this ITypeSignature typeSig, IModule module = null, SignaturePrintingFlags flags = SignaturePrintingFlags.None) { var printer = new ReflectionSignaturePrinter(flags); printer.PrintType(typeSig, module); return(printer.ToString()); }
internal ReflectionSignaturePrinter(SignaturePrintingFlags flags) { _flags = flags; }
public static string PrintAssembly(string name, string culture, Version version, byte[] publicKeyToken, SignaturePrintingFlags flags = SignaturePrintingFlags.None) { var builder = new StringBuilder(); builder.Append(name); if ((flags & SignaturePrintingFlags.IgnoreAssemblyStrongName) != SignaturePrintingFlags.IgnoreAssemblyStrongName) { bool ignoreDefaultValues = (flags & SignaturePrintingFlags.IgnoreAssemblyStrongNameDefaultValues) == SignaturePrintingFlags.IgnoreAssemblyStrongNameDefaultValues; // Version if (version != null) { builder.AppendFormat(", Version={0}", version.ToString()); } else if (!ignoreDefaultValues) { builder.Append(", Version=0.0.0.0"); } // Culture if (!string.IsNullOrEmpty(culture)) { builder.AppendFormat(", Culture={0}", culture); } else if (!ignoreDefaultValues) { builder.Append(", Culture=neutral"); } // PublicKeyToken if (publicKeyToken != null && publicKeyToken.Length > 0) { builder.AppendFormat(", PublicKeyToken={0}", ConvertUtils.ToHexString(publicKeyToken).ToLower()); } else if (!ignoreDefaultValues) { builder.Append(", PublicKeyToken=null"); } } return(builder.ToString()); }
public SignaturePrinter(SignaturePrintingFlags flags, StringBuilder builder) { _flags = flags; _builder = builder ?? new StringBuilder(0x60); }
public SignaturePrinter(SignaturePrintingFlags flags) : this(flags, null) { }
internal static void PrintAssembly(StringBuilder builder, IAssemblySignature assemblySig, SignaturePrintingFlags flags) { builder.Append(assemblySig.Name); if ((flags & SignaturePrintingFlags.IgnoreAssemblyStrongName) != SignaturePrintingFlags.IgnoreAssemblyStrongName) { bool ignoreDefaultValues = (flags & SignaturePrintingFlags.IgnoreAssemblyStrongNameDefaultValues) == SignaturePrintingFlags.IgnoreAssemblyStrongNameDefaultValues; // Version if (assemblySig.Version != null) { builder.AppendFormat(", Version={0}", assemblySig.Version.ToString()); } else if (!ignoreDefaultValues) { builder.Append(", Version=0.0.0.0"); } // Culture if (!string.IsNullOrEmpty(assemblySig.Culture)) { builder.AppendFormat(", Culture={0}", assemblySig.Culture); } else if (!ignoreDefaultValues) { builder.Append(", Culture=neutral"); } // PublicKeyToken if (assemblySig.PublicKeyToken != null && assemblySig.PublicKeyToken.Length > 0) { builder.AppendFormat(", PublicKeyToken={0}", ConvertUtils.ToHexString(assemblySig.PublicKeyToken).ToLower()); } else if (!ignoreDefaultValues) { builder.Append(", PublicKeyToken=null"); } // ProcessorArchitecture string procArchString; switch (assemblySig.ProcessorArchitecture) { case ProcessorArchitecture.MSIL: procArchString = "msil"; break; case ProcessorArchitecture.X86: procArchString = "x86"; break; case ProcessorArchitecture.Amd64: procArchString = "amd64"; break; case ProcessorArchitecture.IA64: procArchString = "ia64"; break; default: procArchString = null; break; } if (procArchString != null) { builder.AppendFormat(", ProcessorArchitecture={0}", procArchString); } } }