Exemple #1
0
        protected override INotifyExpression <TResult> ApplyParametersCore(IDictionary <string, object> parameters, IDictionary <INotifiable, INotifiable> trace)
        {
            var newArgument1 = Argument1.ApplyParameters(parameters, trace);

            return(new ObservableStaticLensProxyCall <T1, TResult>(ProxyFunction, newArgument1, LensPut.ApplyNewTarget(newArgument1 as INotifyReversableValue <T1>)));
        }
Exemple #2
0
 public ObservableStaticLensProxyCall(Func <T1, INotifyValue <TResult> > proxyFunction, INotifyExpression <T1> arg1, LensPut <T1, TResult> lensPut) : base(proxyFunction, arg1)
 {
     LensPut = lensPut;
 }
Exemple #3
0
 public override void SetValue(TResult value)
 {
     Successors.SetDummy();
     LensPut.SetValue(Argument1.Value, value);
 }
Exemple #4
0
        public ObservableStaticLensProxyCall(MethodCallExpression node, ObservableExpressionBinder binder, MethodInfo proxyMethod) : base(node, binder, proxyMethod)
        {
            var lensPutAttribute = node.Method.GetCustomAttribute(typeof(LensPutAttribute)) as LensPutAttribute;

            LensPut = LensPut <T1, TResult> .FromLensPutAttribute(lensPutAttribute, node.Method, Argument1 as INotifyReversableValue <T1>);
        }
Exemple #5
0
 public ObservableStaticLensMethodCall(Func <T1, TResult> function, LensPut <T1, TResult> lensPut, INotifyExpression <T1> argument1) : base(function, argument1)
 {
     LensPut = lensPut;
 }
        public override INotifyExpression <TResult> ApplyParameters(IDictionary <string, object> parameters)
        {
            var newTarget = Target.ApplyParameters(parameters);

            return(new ObservableMethodLensProxyCall <T, TResult>(ProxyMethod, newTarget, LensPut.ApplyNewTarget(newTarget as INotifyReversableValue <T>)));
        }
 public ObservableMethodLensProxyCall(MethodInfo proxyMethod, INotifyExpression <T> target, LensPut <T, TResult> lensPut) : base(target, proxyMethod)
 {
     LensPut = lensPut;
 }
Exemple #8
0
 public ObservableLensPutProxy(INotifyReversableValue <TBase> target, INotifyExpression <T> inner, LensPutAttribute lensAttribute, MethodInfo method)
 {
     this.inner = inner;
     this.lens  = LensPut <TBase, T> .FromLensPutAttribute(lensAttribute, method, target);
 }