コード例 #1
0
        public IEnumerable <object> GetOutputs()
        {
            return(OutputMappings
                   .Select <PositionInOc5State, object>(mapping =>
            {
                var indexInInputs = InputMappings.IndexOf(mapping);
                var indexInOc5StateList = mapping.IndexInOc5StateList;

                switch (mapping.Type)
                {
                case PredefinedObjects.Types._boolean:
                    return Bools[indexInOc5StateList];

                case PredefinedObjects.Types._integer:
                    return Ints[indexInOc5StateList];

                case PredefinedObjects.Types._string:
                    return Strings[indexInOc5StateList];

                case PredefinedObjects.Types._float:
                    return Floats[indexInOc5StateList];

                case PredefinedObjects.Types._double:
                    return Doubles[indexInOc5StateList];

                default:
                    throw new ArgumentException($"No predefined type with index {mapping.Type}!");
                }
            }
                                                        ));
        }
コード例 #2
0
        public void AssignInputs(params object[] inputs)
        {
            InputMappings
            .ToList()
            .ForEach(
                (mapping) =>
            {
                var indexInInputs       = InputMappings.IndexOf(mapping);
                var indexInOc5StateList = mapping.IndexInOc5StateList;

                switch (mapping.Type)
                {
                case PredefinedObjects.Types._boolean:
                    Bools[indexInOc5StateList] = (bool)inputs[indexInInputs];
                    break;

                case PredefinedObjects.Types._integer:
                    Ints[indexInOc5StateList] = (int)inputs[indexInInputs];
                    break;

                case PredefinedObjects.Types._string:
                    Strings[indexInOc5StateList] = (string)inputs[indexInInputs];
                    break;

                case PredefinedObjects.Types._float:
                    Floats[indexInOc5StateList] = (float)inputs[indexInInputs];
                    break;

                case PredefinedObjects.Types._double:
                    Doubles[indexInOc5StateList] = (double)inputs[indexInInputs];
                    break;

                default:
                    throw new ArgumentException($"No predefined type with index {mapping.Type}!");
                }
            }
                );
        }