예제 #1
0
        public Operation(MethodInfo method)
        {
            Method = method;

            var parameters = method.GetParameters();

            var inputParams = parameters.Where(p => p.UseAsInput());

            var outputParams = parameters
                               .Where(p => p.UseAsOutput())
                               .Select(p => new DataField(p.Name, p.ParameterType))
                               .ToList();

            if (method.ReturnType != typeof(void))
            {
                outputParams.Insert(0, new DataField("Value", method.ReturnType));
            }

            RawInputs = new DataFieldInstance[inputParams.Count()];

            RawOutputs = outputParams.Select(o => new OperationOutputFieldInstance(this, o))
                         .ToArray();
        }
예제 #2
0
 public MappingOutput(DataFieldInstance source, DataField output)
 {
     Source = source;
     Output = output;
 }