/// <summary> /// Throws <see cref="NotSupportedException"/> if the <see cref="Uri.Scheme"/> does /// not match the <see cref="IUriReferenceProvider.UriScheme"/>. /// </summary> public static void ThrowIfNotSupportedUriScheme(this IUriReferenceProvider provider, Uri uri) { Guard.NotNull(() => provider, provider); Guard.NotNull(() => uri, uri); if (uri.Scheme != provider.UriScheme) { throw new NotSupportedException(string.Format( CultureInfo.CurrentCulture, Resources.UriProviderExtensions_WrongScheme, provider.UriScheme)); } }
public Uri CreateUri <T>(T instance, string uriScheme = null) where T : class { Guard.NotNull(() => instance, instance); IUriReferenceProvider selectedProvider = GetReferenceProvider <T>(instance, uriScheme); if (selectedProvider == null) { throw new NotSupportedException(); } return((Uri)selectedProvider.GetType().InvokeMember(@"CreateUri", BindingFlags.Public | BindingFlags.Instance | BindingFlags.InvokeMethod, null, selectedProvider, new object[] { instance })); }
public void Initialize() { this.manager = new Mock <IExtensionManager>(); this.provider = new VsixExtensionUriProvider(this.manager.Object, file => this.openFileAction(file)); }
public void Initialize() { this.manager = new Mock<IExtensionManager>(); this.provider = new VsixExtensionUriProvider(this.manager.Object, file => this.openFileAction(file)); }