GetDllImportAttribute() private method

private GetDllImportAttribute ( IntPtr mhandle ) : DllImportAttribute
mhandle IntPtr
return System.Runtime.InteropServices.DllImportAttribute
Esempio n. 1
0
        internal object[] GetPseudoCustomAttributes()
        {
            int            num        = 0;
            MonoMethodInfo methodInfo = MonoMethodInfo.GetMethodInfo(this.mhandle);

            if ((methodInfo.iattrs & MethodImplAttributes.PreserveSig) != MethodImplAttributes.IL)
            {
                num++;
            }
            if ((methodInfo.attrs & MethodAttributes.PinvokeImpl) != MethodAttributes.PrivateScope)
            {
                num++;
            }
            if (num == 0)
            {
                return(null);
            }
            object[] array = new object[num];
            num = 0;
            if ((methodInfo.iattrs & MethodImplAttributes.PreserveSig) != MethodImplAttributes.IL)
            {
                array[num++] = new PreserveSigAttribute();
            }
            if ((methodInfo.attrs & MethodAttributes.PinvokeImpl) != MethodAttributes.PrivateScope)
            {
                DllImportAttribute dllImportAttribute = MonoMethod.GetDllImportAttribute(this.mhandle);
                if ((methodInfo.iattrs & MethodImplAttributes.PreserveSig) != MethodImplAttributes.IL)
                {
                    dllImportAttribute.PreserveSig = true;
                }
                array[num++] = dllImportAttribute;
            }
            return(array);
        }