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); }
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); }