[corlib] Update ValueTuple implementation
[mono.git] / mcs / class / referencesource / System.Activities.Presentation / System.Activities.Presentation / System / Activities / Presentation / GenericTypeParameterConverter.cs
1 //----------------------------------------------------------------
2 // Copyright (c) Microsoft Corporation.  All rights reserved.
3 //----------------------------------------------------------------
4
5 namespace System.Activities.Presentation
6 {
7     using System.Windows.Data;
8     using System.Globalization;
9     
10     internal sealed class GenericTypeParameterConverter : IValueConverter
11     {
12         bool useFullName = false;
13
14         public GenericTypeParameterConverter() : this(false)
15         {
16         }
17
18         public GenericTypeParameterConverter(bool useFullName)
19         {
20             this.useFullName = useFullName;
21         }
22
23         static IValueConverter baseFullNameConverter =
24             new System.Activities.Presentation.Core.GenericTypeParameterConverter(true);
25         static IValueConverter baseShortNameConverter = 
26             new System.Activities.Presentation.Core.GenericTypeParameterConverter(false);
27
28         IValueConverter Converter
29         {
30             get
31             {
32                 return this.useFullName ? 
33                     GenericTypeParameterConverter.baseFullNameConverter : GenericTypeParameterConverter.baseShortNameConverter;
34             }
35         }
36
37         public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
38         {
39             return this.Converter.Convert(value, targetType, parameter, culture);
40         }
41
42         public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
43         {
44             return this.Converter.ConvertBack(value, targetType, parameter, culture);
45         }
46     }
47 }