internal ComTypeDefInfo(TypeLibrary typeLib, TYPEKIND typeKind, int index) : base(typeLib, typeKind, index) { TYPEATTR typeAttr; IntPtr typeAttrPtr; _typeInfo.GetTypeAttr(out typeAttrPtr); typeAttr = (TYPEATTR)Marshal.PtrToStructure(typeAttrPtr, typeof(TYPEATTR)); _infoType = "TypeDef"; if (TraceUtil.If(this, TraceLevel.Verbose)) { Trace.WriteLine("TypeDefInfo: " + _name); } _varComType = TypeLibUtil.TYPEDESCToString(typeLib, _typeInfo, typeAttr.tdescAlias, TypeLibUtil.COMTYPE); _varClrType = TypeLibUtil.TYPEDESCToString(typeLib, _typeInfo, typeAttr.tdescAlias, !TypeLibUtil.COMTYPE); _typeInfo.ReleaseTypeAttr(typeAttrPtr); // Add to the typelibrary for resolution typeLib.TypeDefHash.Add(_name, this); }