4 using System.Globalization;
 
    5 using System.Windows.Data;
 
    6 using System.Windows.Markup;
 
    8 namespace SiliconStudio.Presentation.ValueConverters
 
   16         private static T valueConverterInstance;
 
   24             if (GetType() != typeof(T)) 
throw new InvalidOperationException(
"The generic argument of this class must be the type being implemented.");
 
   28         public override object ProvideValue(IServiceProvider serviceProvider)
 
   30             return valueConverterInstance ?? (valueConverterInstance = 
new T());
 
   34         public abstract object Convert(
object value, Type targetType, 
object parameter, CultureInfo culture);
 
   37         public abstract object ConvertBack(
object value, Type targetType, 
object parameter, CultureInfo culture);
 
ValueConverterBase()
Initializes a new instance of the ValueConverterBase{T} class. 
override object ProvideValue(IServiceProvider serviceProvider)
HRESULT Convert(_In_ const Image &srcImage, _In_ DXGI_FORMAT format, _In_ DWORD filter, _In_ float threshold, _Out_ ScratchImage &image)