Пример #1
0
            protected override Task <IValueProvider> BuildAsync(
                TAttribute attrResolved,
                ValueBindingContext context)
            {
                string invokeString = Cloner.GetInvokeString(attrResolved);

                object    obj = _buildFromAttribute(attrResolved);
                TUserType finalObj;

                if (_converter == null)
                {
                    finalObj = (TUserType)obj;
                }
                else
                {
                    var intermediateObj = (TType)obj;
                    finalObj = _converter(intermediateObj, attrResolved, context);
                }

                IValueProvider vp = new ConstantValueProvider(finalObj, typeof(TUserType), invokeString);

                return(Task.FromResult(vp));
            }
Пример #2
0
            protected override async Task <IValueProvider> BuildAsync(
                TAttribute attrResolved,
                ValueBindingContext context)
            {
                string invokeString = Cloner.GetInvokeString(attrResolved);

                object obj = await _buildFromAttribute(attrResolved, null, context);

                object finalObj;

                if (_converter == null)
                {
                    finalObj = obj;
                }
                else
                {
                    finalObj = await _converter(obj, attrResolved, context);
                }

                IValueProvider vp = new ConstantValueProvider(finalObj, _parameterType, invokeString);

                return(vp);
            }