Exemple #1
0
            public bool TryConvert <T>(object source, out T result)
            {
                TypeConverterDelegate <T> converter = TypeConverterLookup <T> .TryConvert;

                return(converter != null
                    ? converter(source, out result)
                    : TryCoreConvert(source, out result));
            }
Exemple #2
0
        internal static TypeConverterDelegate GetTypeConverterDelegate(Type elementType)
        {
            var attrs = elementType.GetCustomAttributes(typeof(XamlSetTypeConverterAttribute), true) as XamlSetTypeConverterAttribute[];

            if (attrs != null && attrs.Length > 0)
            {
                var name   = attrs[0].XamlSetTypeConverterHandler;
                var method = elementType.GetMethod(name, BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic);

                return((TypeConverterDelegate)TypeConverterDelegate.CreateDelegate(typeof(TypeConverterDelegate), method));
            }

            return(null);
        }
Exemple #3
0
 public ITypeConverter Register <T>(TypeConverterDelegate <T> converter)
 {
     TypeConverterLookup <T> .TryConvert = converter;
     return(this);
 }