public static bool WillReadUri(this HttpParameterBinding parameterBinding) { if (parameterBinding == null) { throw Error.ArgumentNull("parameterBinding"); } IValueProviderParameterBinding valueProviderParameterBinding = parameterBinding as IValueProviderParameterBinding; if (valueProviderParameterBinding != null) { IEnumerable <ValueProviderFactory> valueProviderFactories = valueProviderParameterBinding.ValueProviderFactories; if ( valueProviderFactories.Any() && valueProviderFactories.All(factory => factory is IUriValueProviderFactory) ) { return(true); } } return(false); }
internal static bool WillReadUri(this HttpParameterBinding parameterBinding) { if (parameterBinding == null) { throw Error.ArgumentNull("parameterBinding"); } IValueProviderParameterBinding valueProviderParameterBinding = parameterBinding as IValueProviderParameterBinding; if (valueProviderParameterBinding != null) { IEnumerable <ValueProviderFactory> valueProviderFactories = valueProviderParameterBinding.ValueProviderFactories; // NOTE: IUriValueProviderFactory is an internal interface. So, instead of checing the factory // against it, we can check against the actual types as there are only two of them: // QueryStringValueProviderFactory // RouteDataValueProviderFactory if (valueProviderFactories.Any() && valueProviderFactories.All(factory => factory.GetType() == typeof(QueryStringValueProviderFactory) || factory.GetType() == typeof(RouteDataValueProviderFactory))) { return(true); } } return(false); }
/// <summary> /// Determines if a parameter will be read from the URI. /// </summary> /// <param name="parameterBinding">The parameter binding.</param> public static bool WillReadUri(this HttpParameterBinding parameterBinding) { if (parameterBinding == null) { return(false); } IValueProviderParameterBinding valueProviderParameterBinding = parameterBinding as IValueProviderParameterBinding; if (valueProviderParameterBinding != null) { IEnumerable <ValueProviderFactory> valueProviderFactories = valueProviderParameterBinding.ValueProviderFactories; if (valueProviderFactories.Any() && valueProviderFactories.All(factory => factory is QueryStringValueProviderFactory || factory is RouteDataValueProviderFactory)) { return(true); } } return(false); }
public static bool WillReadUri(this HttpParameterBinding parameterBinding) { if (parameterBinding == null) { throw new ArgumentNullException("parameterBinding"); } IValueProviderParameterBinding valueProviderParameterBinding = parameterBinding as IValueProviderParameterBinding; if (valueProviderParameterBinding != null) { IEnumerable <ValueProviderFactory> valueProviderFactories = valueProviderParameterBinding.ValueProviderFactories; if (valueProviderFactories.Any()) { return(true); } } return(false); }
public static bool WillReadUri(this HttpParameterBinding parameterBinding) { if (parameterBinding == null) { throw new ArgumentNullException("parameterBinding"); } IValueProviderParameterBinding valueProviderParameterBinding = parameterBinding as IValueProviderParameterBinding; if (valueProviderParameterBinding != null) { IEnumerable <ValueProviderFactory> valueProviderFactories = valueProviderParameterBinding.ValueProviderFactories; // since The interface IUriValueProvderFactory is internal, following line of codes is altered // if (valueProviderFactories.Any() && valueProviderFactories.All(factory => factory is IUriValueProviderFactory)) if (valueProviderFactories.Any() && valueProviderFactories.All(factory => (factory is QueryStringValueProviderFactory) || (factory is RouteDataValueProviderFactory))) { return(true); } } return(false); }