/// <summary> /// Write the header of this chunk. /// Always call the base method first. /// </summary> protected sealed override void WriteHeader(ResWriter writer) { base.WriteHeader(writer); writer.WriteInt32(LineNumber); StringPoolRef.Write(writer, tree.StringPool, Comment); // Extended data (in derived types) is not part of the header }
/// <summary> /// Write this attribute. /// </summary> internal void Write(ResWriter writer) { StringPoolRef.Write(writer, tree.StringPool, Namespace); StringPoolRef.Write(writer, tree.StringPool, Name, resourceId); StringPoolRef.Write(writer, tree.StringPool, RawValue); var value = TypedValue ?? new Value(Value.Types.TYPE_STRING, tree.StringPool.Get(RawValue, -1)); value.Write(writer); }
/// <summary> /// Write this entry. /// </summary> internal virtual void Write(ResWriter writer) { writer.WriteUInt16(IsComplex ? 16 : 8); writer.WriteUInt16((int)flags); StringPoolRef.Write(writer, parent.TypeSpec.Package.KeyStrings, key); }
/// <summary> /// Write the data of this chunk. /// </summary> protected override void WriteData(ResWriter writer) { base.WriteData(writer); StringPoolRef.Write(writer, Tree.StringPool, Data); TypedData.Write(writer); }