public override MethodBase[] __GetDeclaredMethods()
        {
            int method = module.TypeDef.records[index].MethodList - 1;
            int end    = module.TypeDef.records.Length > index + 1 ? module.TypeDef.records[index + 1].MethodList - 1 : module.MethodDef.records.Length;

            MethodBase[] methods = new MethodBase[end - method];
            if (module.MethodPtr.RowCount == 0)
            {
                for (int i = 0; method < end; method++, i++)
                {
                    methods[i] = module.GetMethodAt(this, method);
                }
            }
            else
            {
                for (int i = 0; method < end; method++, i++)
                {
                    methods[i] = module.GetMethodAt(this, module.MethodPtr.records[method] - 1);
                }
            }
            return(methods);
        }