Exemplo n.º 1
0
        /// <summary>
        /// Parse - this method is called by the type converter to parse a Brush's string
        /// (provided in "value") with the given IFormatProvider.
        /// </summary>
        /// <returns>
        /// A Brush which was created by parsing the "value".
        /// </returns>
        /// <param name="value"> String representation of a Brush.  Cannot be null/empty. </param>
        /// <param name="context"> The ITypeDescriptorContext for this call. </param>
        internal static Brush Parse(string value, ITypeDescriptorContext context)
        {
            Brush             brush;
            IFreezeFreezables freezer = null;

            if (context != null)
            {
                freezer = (IFreezeFreezables)context.GetService(typeof(IFreezeFreezables));
                if ((freezer != null) && freezer.FreezeFreezables)
                {
                    brush = (Brush)freezer.TryGetFreezable(value);
                    if (brush != null)
                    {
                        return(brush);
                    }
                }
            }

            brush = Parsers.ParseBrush(value, System.Windows.Markup.TypeConverterHelper.InvariantEnglishUS, context);

            if ((brush != null) && (freezer != null) && (freezer.FreezeFreezables))
            {
                freezer.TryFreeze(value, brush);
            }

            return(brush);
        }
 // Token: 0x06001079 RID: 4217 RVA: 0x000418A0 File Offset: 0x0003FAA0
 public DeferredBinaryDeserializerExtension(IFreezeFreezables freezer, BinaryReader reader, int converterId, int dataByteSize)
 {
     this._freezer   = freezer;
     this._canFreeze = freezer.FreezeFreezables;
     byte[] buffer = reader.ReadBytes(dataByteSize);
     this._stream      = new MemoryStream(buffer);
     this._reader      = new BinaryReader(this._stream);
     this._converterId = converterId;
 }
 public DeferredBinaryDeserializerExtension(IFreezeFreezables freezer, BinaryReader reader, int converterId, int dataByteSize)
 {
     _freezer = freezer;
     // We need to evaluate this immediately since ProvideValue may be called much later.
     _canFreeze = freezer.FreezeFreezables;
     byte[] bytes = reader.ReadBytes(dataByteSize);
     _stream      = new MemoryStream(bytes);
     _reader      = new BinaryReader(_stream);
     _converterId = converterId;
 }
 public DeferredBinaryDeserializerExtension(IFreezeFreezables freezer, BinaryReader reader, int converterId, int dataByteSize)
 {
     _freezer = freezer;
     // We need to evaluate this immediately since ProvideValue may be called much later.
     _canFreeze = freezer.FreezeFreezables;
     byte[] bytes = reader.ReadBytes(dataByteSize);
     _stream = new MemoryStream(bytes);
     _reader = new BinaryReader(_stream);
     _converterId = converterId;
 }
 public DeferredBinaryDeserializerExtensionContext(IServiceProvider serviceProvider, IFreezeFreezables freezer, bool canFreeze)
 {
     _freezer         = freezer;
     _canFreeze       = canFreeze;
     _serviceProvider = serviceProvider;
 }
 public DeferredBinaryDeserializerExtensionContext(IServiceProvider serviceProvider, IFreezeFreezables freezer, bool canFreeze)
 {
     _freezer = freezer;
     _canFreeze = canFreeze;
     _serviceProvider = serviceProvider;
 }