internal HeaderedFileWriter([NotNull] HeaderedFile file)
 {
     _file = file;
     _file.CurrentWriter = this;
     _context = file.Context;
     _description = _context.Description;
 }
        public HeaderdFileContext([NotNull] SerializationContext original, [NotNull] FileDescription description)
            : base(original)
        {
            _description = description;

            _file = new HeaderedFile(_description);
            if (original.SerializerMode == SerializerMode.Deserialize)
                _file.Read(TextReader);

            if (original.SerializerMode == SerializerMode.Serialize)
                _file.CreateWriter();
        }
 public HeaderedFile(FileDescription description)
 => Context = new FileContext(description);
 internal FileContext([NotNull] FileDescription description)
 => Description = (FileDescription)description.Clone();
 private FileDescription(FileDescription parent)
 {
     _keys = new HashSet<string>(parent.Keys);
 }