Beispiel #1
0
        internal bool TryGetGenericArgumentMarshalInfo(int slot, out McgGenericArgumentMarshalInfo mcgGenericArgumentMarshalInfo)
        {
            if (slot >= 0)
            {
                if (m_genericArgumentMarshalInfo != null)
                {
                    int marshalIndex = m_interfaceData[slot].MarshalIndex;
                    mcgGenericArgumentMarshalInfo = m_genericArgumentMarshalInfo[marshalIndex];
                    return(true);
                }
            }

            mcgGenericArgumentMarshalInfo = default(McgGenericArgumentMarshalInfo);
            return(false);
        }
Beispiel #2
0
        internal static bool TryGetGenericArgumentMarshalInfo(RuntimeTypeHandle interfaceType, out McgGenericArgumentMarshalInfo mcgGenericArgumentMarshalInfo)
        {
            for (int i = 0; i < s_moduleCount; ++i)
            {
                if (s_modules[i].TryGetGenericArgumentMarshalInfo(interfaceType, out mcgGenericArgumentMarshalInfo))
                {
                    return(true);
                }
            }

            mcgGenericArgumentMarshalInfo = default(McgGenericArgumentMarshalInfo);
            return(false);
        }
Beispiel #3
0
        internal static bool TryGetGenericArgumentMarshalInfo(RuntimeTypeHandle interfaceType, out McgGenericArgumentMarshalInfo mcgGenericArgumentMarshalInfo)
        {
            int moduleIndex, typeIndex;

            if (GetIndicesForInterface(interfaceType, out moduleIndex, out typeIndex))
            {
                if (s_modules[moduleIndex].TryGetGenericArgumentMarshalInfo(typeIndex, out mcgGenericArgumentMarshalInfo))
                {
                    return(true);
                }
            }

            mcgGenericArgumentMarshalInfo = default(McgGenericArgumentMarshalInfo);
            return(false);
        }