File: ModelBinding\ElementalValueProvider.cs
Project: ndp\fx\src\xsp\system\Web\System.Web.csproj (System.Web)
namespace System.Web.ModelBinding {
    using System;
    using System.Globalization;
 
    // Represents a value provider that contains a single value.
    internal sealed class ElementalValueProvider : IValueProvider {
 
        public ElementalValueProvider(string name, object rawValue, CultureInfo culture) {
            Name = name;
            RawValue = rawValue;
            Culture = culture;
        }
 
        public CultureInfo Culture {
            get;
            private set;
        }
 
        public string Name {
            get;
            private set;
        }
 
        public object RawValue {
            get;
            private set;
        }
 
        public bool ContainsPrefix(string prefix) {
            return PrefixContainer.IsPrefixMatch(Name, prefix);
        }
 
        public ValueProviderResult GetValue(string key) {
            return (String.Equals(key, Name, StringComparison.OrdinalIgnoreCase))
                ? new ValueProviderResult(RawValue, Convert.ToString(RawValue, Culture), Culture)
                : null;
        }
 
    }
}