// 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);
        }
コード例 #2
0
        /// <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);
        }