Beispiel #1
0
        private void ReadOptimizedStaticResource()
        {
            var node = new BamlOptimizedStaticResource();

            node.Flags = (BamlOptimizedStaticResourceFlags)_accessor.ReadByte();

            short valueId = _accessor.ReadInt16();

            BamlExtensionValue value;

            switch (node.Flags)
            {
            case BamlOptimizedStaticResourceFlags.ValueType:
            {
                value = new BamlExtensionTypeValue(GetType(valueId));
            }
            break;

            case BamlOptimizedStaticResourceFlags.StaticType:
            {
                value = GetStaticExtensionValue(valueId);
            }
            break;

            default:
            {
                value = new BamlExtensionStringValue(GetString(valueId));
            }
            break;
            }

            node.Value = value;

            AddNode(node);
        }
Beispiel #2
0
 private void WriteOptimizedStaticResource(BamlOptimizedStaticResource node)
 {
     _blob.Write(ref _pos, (byte)RecordType.OptimizedStaticResource);
     _blob.Write(ref _pos, (byte)node.Flags);
     _blob.Write(ref _pos, (short)GetExtensionValueId(node.Value));
 }