Beispiel #1
0
        private void WriteKeyElement(BamlKeyElement node)
        {
            _blob.Write(ref _pos, (byte)RecordType.KeyElementStart);
            _blob.Write(ref _pos, (short)GetTypeId(node.Type));
            _blob.Write(ref _pos, (byte)node.TypeFlags);
            _pos += 4;
            _blob.Write(ref _pos, (bool)node.Shared);
            _blob.Write(ref _pos, (bool)node.SharedSet);

            AddKey(_pos - 6, node.ValueNode);
            BeginScope(node, RecordType.KeyElementEnd);
        }
Beispiel #2
0
        private void ReadKeyElement()
        {
            var node = new BamlKeyElement();

            node.Type      = GetType(_accessor.ReadInt16());
            node.TypeFlags = (BamlElementFlags)_accessor.ReadByte();
            int valuePosition = _accessor.ReadInt32();

            node.Shared    = _accessor.ReadBoolean();
            node.SharedSet = _accessor.ReadBoolean();

            AddNode(node);
            AddKey(node, valuePosition);
            BeginScope(node, RecordType.KeyElementEnd);
        }