/// <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 DeferredBinaryDeserializerExtensionContext(IServiceProvider serviceProvider, IFreezeFreezables freezer, bool canFreeze) { _freezer = freezer; _canFreeze = canFreeze; _serviceProvider = serviceProvider; }