Пример #1
0
        /// <summary>
        /// Get a Type object representing the named type, along with a boolean indicating if the type
        /// definition is from a WinMD file.
        /// </summary>
        internal Type GetTypeFromName(string name, ref bool isWinRT)
        {
            if (m_interfaceNameMap != null)
            {
                int i = m_interfaceNameMap.FindString(name);

                if (i >= 0)
                {
                    isWinRT = m_interfaceData[i].IsIInspectableOrDelegate;

                    return(InteropExtensions.GetTypeFromHandle(m_interfaceData[i].ItfType));
                }
            }

            if (m_classNameMap != null)
            {
                int i = m_classNameMap.FindString(name);

                if (i >= 0)
                {
                    isWinRT = (m_classData[i].Flags & McgClassFlags.IsWinRT) != 0;

                    return(InteropExtensions.GetTypeFromHandle(m_classData[i].ClassType));
                }
            }

            return(null);
        }