internal static bool GetPInvokeDelegateData(RuntimeTypeHandle delegateType, out McgPInvokeDelegateData pinvokeDelegateData) { pinvokeDelegateData = default(McgPInvokeDelegateData); for (int i = 0; i < s_moduleCount; ++i) { if (s_modules[i].TryGetPInvokeDelegateData(delegateType, out pinvokeDelegateData)) { return(true); } } return(false); }
internal static bool GetPInvokeDelegateData(RuntimeTypeHandle delegateType, out McgPInvokeDelegateData pinvokeDelegateData) { pinvokeDelegateData = default(McgPInvokeDelegateData); for (int i = 0; i < s_moduleCount; ++i) { if (s_modules[i].TryGetPInvokeDelegateData(delegateType, out pinvokeDelegateData)) { return(true); } } #if ENABLE_WINRT throw new MissingInteropDataException(SR.DelegateMarshalling_MissingInteropData, Type.GetTypeFromHandle(delegateType)); #else return(false); #endif }
/// <summary> /// Retrieves delegate data for the specified delegate handle /// </summary> internal bool TryGetPInvokeDelegateData(RuntimeTypeHandle typeHandle, out McgPInvokeDelegateData pinvokeDelegateData) { if (m_pinvokeDelegateData != null) { for (int i = 0; i < m_pinvokeDelegateData.Length; i++) { if (typeHandle.Equals(m_pinvokeDelegateData[i].Delegate)) { pinvokeDelegateData = m_pinvokeDelegateData[i]; return(true); } } } pinvokeDelegateData = default(McgPInvokeDelegateData); return(false); }