get_method_info() private method

private get_method_info ( IntPtr handle, MonoMethodInfo &info ) : void
handle IntPtr
info MonoMethodInfo
return void
Esempio n. 1
0
        internal static MonoMethodInfo GetMethodInfo(IntPtr handle)
        {
            MonoMethodInfo info;

            MonoMethodInfo.get_method_info(handle, out info);
            return(info);
        }
Esempio n. 2
0
        internal object[] GetPseudoCustomAttributes()
        {
            int count = 0;

            /* MS.NET doesn't report MethodImplAttribute */

            MonoMethodInfo info;

            MonoMethodInfo.get_method_info(mhandle, out info);
            if ((info.iattrs & MethodImplAttributes.PreserveSig) != 0)
            {
                count++;
            }
            if ((info.attrs & MethodAttributes.PinvokeImpl) != 0)
            {
                count++;
            }

            if (count == 0)
            {
                return(null);
            }
            object[] attrs = new object [count];
            count = 0;

            if ((info.iattrs & MethodImplAttributes.PreserveSig) != 0)
            {
                attrs [count++] = new PreserveSigAttribute();
            }
            if ((info.attrs & MethodAttributes.PinvokeImpl) != 0)
            {
                DllImportAttribute attr = GetDllImportAttribute(mhandle);
                if ((info.iattrs & MethodImplAttributes.PreserveSig) != 0)
                {
                    attr.PreserveSig = true;
                }
                attrs [count++] = attr;
            }

            return(attrs);
        }