Ildasm.Disassembler.DecodeCABlob C# (CSharp) Méthode

DecodeCABlob() private méthode

private DecodeCABlob ( System.StringBuilder sb, ConstructorInfo constructor, byte blob, int level ) : bool
sb System.StringBuilder
constructor ConstructorInfo
blob byte
level int
Résultat bool
        bool DecodeCABlob(StringBuilder sb, ConstructorInfo constructor, byte[] blob, int level)
        {
            try
            {
                // CustomAttribute
                var br = new ByteReader(blob, 2, blob.Length - 4);
                ReadConstructorArguments(sb, br, constructor, level);
                br = new ByteReader(blob, blob.Length - (br.Length + 2), br.Length + 2);
                int named = br.ReadUInt16();
                if (constructor.GetParameters().Length != 0 && named != 0)
                {
                    AppendNewLine(sb, level);
                }
                ReadNamedArguments(sb, br, named, level, false);
                return true;
            }
            catch (Managed.Reflection.BadImageFormatException) { }
            catch (ArgumentOutOfRangeException) { }
            return false;
        }