Пример #1
0
 internal Group(object parent, string name, bool send = false)
 {
     _parent = parent;
     _name   = name;
     Values  = new ValueDictionary(x => x.Name, this);
     if (send)
     {
         var s = ((IGroupInternal)this).GetStream();
         s.OutboundCurrentGroup = this;
     }
 }
Пример #2
0
        public Df2Stream(Stream @base, StreamMode mode, bool leaveOpen = false)
        {
            _leaveOpen = leaveOpen;
            if (@base.CanRead && (mode & StreamMode.Read) != 0)
            {
                BaseReader = new BinaryReader(@base, Encoding.UTF8, leaveOpen);
                if (!Preface.IsValid(BaseReader))
                {
                    throw new InvalidOperationException();
                }
            }

            if (@base.CanWrite && (mode & StreamMode.Write) != 0)
            {
                BaseWriter = new BinaryWriter(@base, Encoding.UTF8, leaveOpen);
                Preface.Write(BaseWriter);
            }

            Receiver = new CommandReceiver(this);
            Sender   = new CommandSender(this);
            Values   = new ValueDictionary(x => x.Name, this);
        }