You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@ -0,0 +1,50 @@
|
||||
using System.Globalization;
|
||||
|
||||
namespace System.Web.ModelBinding {
|
||||
/// <summary>
|
||||
/// This value provider supports single key-value lookup.
|
||||
/// SimpleValueProvider itself is unaware of actual look-up mechanism and delegates to child classes using the FetchValue method.
|
||||
/// Example simple value providers are ViewStateValueProvider and ControlValueProvider.
|
||||
/// </summary>
|
||||
public abstract class SimpleValueProvider : IValueProvider {
|
||||
|
||||
private CultureInfo _cultureInfo;
|
||||
|
||||
protected ModelBindingExecutionContext ModelBindingExecutionContext {
|
||||
get;
|
||||
private set;
|
||||
}
|
||||
|
||||
protected SimpleValueProvider(ModelBindingExecutionContext modelBindingExecutionContext)
|
||||
: this(modelBindingExecutionContext, CultureInfo.CurrentCulture) {
|
||||
}
|
||||
|
||||
protected SimpleValueProvider(ModelBindingExecutionContext modelBindingExecutionContext, CultureInfo cultureInfo) {
|
||||
ModelBindingExecutionContext = modelBindingExecutionContext;
|
||||
_cultureInfo = cultureInfo;
|
||||
}
|
||||
|
||||
public virtual bool ContainsPrefix(string prefix) {
|
||||
if (prefix == null) {
|
||||
throw new ArgumentNullException("prefix");
|
||||
}
|
||||
|
||||
return FetchValue(prefix) != null;
|
||||
}
|
||||
|
||||
public virtual ValueProviderResult GetValue(string key) {
|
||||
if (key == null) {
|
||||
throw new ArgumentNullException("key");
|
||||
}
|
||||
|
||||
object rawValue = FetchValue(key);
|
||||
if (rawValue == null) {
|
||||
return null;
|
||||
}
|
||||
string attemptedValue = Convert.ToString(rawValue, _cultureInfo);
|
||||
return new ValueProviderResult(rawValue, attemptedValue, _cultureInfo);
|
||||
}
|
||||
|
||||
protected abstract object FetchValue(string key);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user