// Token: 0x060015EB RID: 5611 RVA: 0x0006B090 File Offset: 0x00069290 public override object ProvideValue(IServiceProvider serviceProvider) { object obj = base.ProvideValue(serviceProvider); Uri uri = obj as Uri; if (uri != null) { Uri uri2 = BaseUriHelper.AppendAssemblyVersion(uri, this._assemblyInfo); if (uri2 != null) { return(new ResourceDictionary.ResourceDictionarySourceUriWrapper(uri, uri2)); } } return(obj); }
/// <summary> /// Get the value from the base implementation which calls the appropriate type converter, /// if it is a Uri process it and try to append the Assembly version from _assemblyInfo. /// AppendAssemblyVersion will handle the cases where the Uri cannot be appended with the version /// and return null, in which case we should just pass the original value from the converter. /// </summary> public override object ProvideValue(IServiceProvider serviceProvider) { object convertedValue = base.ProvideValue(serviceProvider); Uri convertedUri = convertedValue as Uri; if (convertedUri != null) { Uri appendedVersionUri = BaseUriHelper.AppendAssemblyVersion(convertedUri, _assemblyInfo); if (appendedVersionUri != null) { return(new ResourceDictionary.ResourceDictionarySourceUriWrapper(convertedUri, appendedVersionUri)); } } return(convertedValue); }