public LambdaBuilder(ToWorkshop toWorkshop) { _toWorkshop = toWorkshop; _parameterRecycler = new RecycleWorkshopVariableAssigner(toWorkshop.VarCollection, "lambdaParameter"); _returnRecycler = new RecycleWorkshopVariableAssigner(toWorkshop.VarCollection, "lambdaValue"); _parameterHandler = new LambdaParameterHandler(_parameterRecycler); }
public AnonymousRunner(LambdaAction lambda, RecycleWorkshopVariableAssigner parameterAssigner) { _lambda = lambda; _parameters = (from parameter in _lambda.Parameters select new AssignedPortableParameter( parameter, // Create the gettable. parameter.CodeType .GetGettableAssigner(new AssigningAttributes(parameter.Name, true, false)) .GetValue(new GettableAssignerValueInfo(parameterAssigner) { SetInitialValue = SetInitialValue.DoNotSet }))).ToArray(); }
public LambdaParameterHandler(RecycleWorkshopVariableAssigner recycler) => _recycler = recycler;