示例#1
0
        private ClrInterface?GetInterface(MetadataImport import, int mdIFace)
        {
            ClrInterface?result = null;

            if (!import.GetTypeDefProperties(mdIFace, out string?name, out _, out int extends).IsOK)
            {
                name = import.GetTypeRefName(mdIFace);
            }

            // TODO:  Handle typespec case.
            if (name != null)
            {
                ClrInterface?type = null;
                if (extends != 0 && extends != 0x01000000)
                {
                    type = GetInterface(import, extends);
                }

                result = new ClrInterface(name, type);
            }

            return(result);
        }