Exemple #1
0
        static object Convert(object target, object value, BindableProperty property)
        {
            var serviceProvider = new StyleSheetServiceProvider(target, property);
            Func <MemberInfo> minforetriever =
                () =>
            {
                MemberInfo minfo = null;
                try {
                    minfo = property.DeclaringType.GetRuntimeProperty(property.PropertyName);
                } catch (AmbiguousMatchException e) {
                    throw new XamlParseException($"Multiple properties with name '{property.DeclaringType}.{property.PropertyName}' found.", serviceProvider, innerException: e);
                }
                if (minfo != null)
                {
                    return(minfo);
                }
                try {
                    return(property.DeclaringType.GetRuntimeMethod("Get" + property.PropertyName, new[] { typeof(BindableObject) }));
                } catch (AmbiguousMatchException e) {
                    throw new XamlParseException($"Multiple methods with name '{property.DeclaringType}.Get{property.PropertyName}' found.", serviceProvider, innerException: e);
                }
            };

            return(value.ConvertTo(property.ReturnType, minforetriever, serviceProvider));
        }
Exemple #2
0
        static object Convert(object target, object value, BindableProperty property)
        {
            Func <MemberInfo> minforetriever = () => property.DeclaringType.GetRuntimeProperty(property.PropertyName) as MemberInfo
                                               ?? property.DeclaringType.GetRuntimeMethod("Get" + property.PropertyName, new[] { typeof(BindableObject) }) as MemberInfo;
            var serviceProvider = new StyleSheetServiceProvider(target, property);

            return(value.ConvertTo(property.ReturnType, minforetriever, serviceProvider));
        }
Exemple #3
0
		static object Convert(object target, object value, BindableProperty property)
		{
			var serviceProvider = new StyleSheetServiceProvider(target, property);
			Func<MemberInfo> minforetriever =
				() =>
				{
					MemberInfo minfo = null;
					try {
						minfo = property.DeclaringType.GetRuntimeProperty(property.PropertyName);
					} catch (AmbiguousMatchException e) {
<<<<<<< HEAD
						throw new XamlParseException($"Multiple properties with name '{property.DeclaringType}.{property.PropertyName}' found.", serviceProvider, innerException: e);