internal void CreateFromStream(BinaryReader reader) { importedFromAnotherProject = reader.ReadBoolean(); #region RecursivePortionOfFinalItemSpecDirectory if (reader.ReadByte() == 0) { recursivePortionOfFinalItemSpecDirectory = null; } else { recursivePortionOfFinalItemSpecDirectory = reader.ReadString(); } #endregion #region FinalItemSpecEscaped if (reader.ReadByte() == 0) { finalItemSpecEscaped = null; } else { finalItemSpecEscaped = reader.ReadString(); } #endregion #region Name if (reader.ReadByte() == 0) { name = null; } else { name = reader.ReadString(); } #endregion #region VitrualIncludeAttribute if (reader.ReadByte() == 0) { include = null; } else { include = reader.ReadString(); } #endregion #region EvaluatedItemSpecEscaped if (reader.ReadByte() == 0) { evaluatedItemSpecEscaped = null; } else { evaluatedItemSpecEscaped = reader.ReadString(); } #endregion #region UnevaluatedCustomMetadata if (reader.ReadByte() == 0) { unevaluatedCustomMetadata = null; } else { int numberUnevaluatedItems = reader.ReadInt32(); unevaluatedCustomMetadata = new CopyOnWriteHashtable(numberUnevaluatedItems, StringComparer.OrdinalIgnoreCase); for (int i = 0; i < numberUnevaluatedItems; i++) { string key = reader.ReadString(); string value = null; if (reader.ReadByte() != 0) { value = reader.ReadString(); } unevaluatedCustomMetadata.Add(key, value); } } #endregion #region EvaluatedCustomMetadata if (reader.ReadByte() == 0) { evaluatedCustomMetadata = null; } else { int numberevaluatedCustomMetadata = reader.ReadInt32(); evaluatedCustomMetadata = new CopyOnWriteHashtable(numberevaluatedCustomMetadata, StringComparer.OrdinalIgnoreCase); for (int i = 0; i < numberevaluatedCustomMetadata; i++) { string key = reader.ReadString(); string value = null; if (reader.ReadByte() != 0) { value = reader.ReadString(); } evaluatedCustomMetadata.Add(key, value); } } #endregion #region ItemSpecModifiers if (reader.ReadByte() == 0) { itemSpecModifiers = null; } else { int numberItemSpecModifiers = reader.ReadInt32(); itemSpecModifiers = new Hashtable(numberItemSpecModifiers); for (int i = 0; i < numberItemSpecModifiers; i++) { string key = reader.ReadString(); string value = null; if (reader.ReadByte() != 0) { value = reader.ReadString(); } itemSpecModifiers.Add(key, value); } } #endregion }
internal void CreateFromStream(BinaryReader reader) { if (reader.ReadByte() == 0) { propertyTableByName = null; } else { // Write Number of HashItems int numberOfHashKeyValuePairs = reader.ReadInt32(); propertyTableByName = new CopyOnWriteHashtable(numberOfHashKeyValuePairs, StringComparer.OrdinalIgnoreCase); for (int i = 0; i < numberOfHashKeyValuePairs; i++) { string key = reader.ReadString(); BuildProperty value = null; if (reader.ReadByte() == 1) { value = BuildProperty.CreateFromStream(reader); } propertyTableByName.Add(key, value); } } }