/// <summary> Add a class to the MetaDataCache. </summary> /// <param name='bstrClassName'> </param> /// <param name='luClid'> </param> /// <param name='bstrSuperclassName'> </param> /// <param name='isAbstract'> </param> private void AddClass1(string bstrClassName, int luClid, string bstrSuperclassName, bool isAbstract) { var mcr = new MetaClassRec(bstrSuperclassName, isAbstract, bstrClassName) {m_clid = luClid}; // These will throw if it is already in the dictionary. m_metaClassRecords.Add(luClid, mcr); m_nameToClid.Add(mcr.m_className, luClid); }
/// <summary> Add a class to the MetaDataCache. </summary> /// <param name='className'> </param> /// <param name='clid'> </param> /// <param name='superclassName'> </param> /// <param name='isAbstract'> </param> private void AddClass(string className, int clid, string superclassName, bool isAbstract) { var mcr = new MetaClassRec(superclassName, isAbstract, className) {m_clid = clid}; // These will throw if it is already in the dictionary. m_metaClassRecords.Add(clid, mcr); m_nameToClid.Add(mcr.m_className, clid); // Set superclass info, except for top CmObject superclass. if (className == "CmObject") return; mcr.m_baseClsid = m_nameToClid[mcr.m_superclassName]; var mcrSuperclass = m_metaClassRecords[mcr.m_baseClsid]; mcrSuperclass.m_directSubclasses.Add(mcr); }