/// <summary> /// Prevents a default instance of the <see cref="NameTableCache" /> class from being created. /// Initialize name table and element name cache object array both containing the same object references. /// The name table would be used in XmlReaderSettings and the elementNameCache object array /// would be used with <see cref="NameTableCache.IsElement" /> to atomically compare element local names. /// </summary> private RDFNameTableCache() { this._nameTable = new RDFConcurrentNameTable(); string[] elementNames = Enum.GetNames(typeof(RDFElementNameTable)); string[] attributeNames = Enum.GetNames(typeof(RDFAttributeNameTable)); this._elementNameCache = new object[elementNames.Length + attributeNames.Length]; for (int i = 0; i < elementNames.Length; i++) { this._elementNameCache[i] = this._nameTable.Add(elementNames[i]); } int count = elementNames.Length; for (int i = 0; i < attributeNames.Length; i++) { this._elementNameCache[count++] = this._nameTable.Add(attributeNames[i]); } }