示例#1
0
        public Parameter AddParameter(string name, Type type, ParameterType param_type)
        {
            Parameter instance = (Parameter)ObjectBase.CreateGenericInstance(typeof(Parameter <>), type, name.IsNullOrEmpty() ? "new " + type.GetTypeName() : name);

            switch (param_type)
            {
            case ParameterType.None:
                variableParameters.Add(instance);
                inputParameters.Add(instance);
                outputParameters.Add(instance);
                return(instance);

            case ParameterType.Variable:
                variableParameters.Add(instance);
                return(instance);

            case ParameterType.Input:
                inputParameters.Add(instance);
                return(instance);

            case ParameterType.Output:
                outputParameters.Add(instance);
                return(instance);

            default:
                goto case ParameterType.None;
            }
        }
示例#2
0
        public VariableObject AddVariable(int key, string name, Type type)
        {
            VariableObject v;

            if (properties.TryGetValue(key, out v))
            {
                v.name = name;
                return(v);
            }
            VariableObject instance = (VariableObject)ObjectBase.CreateGenericInstance(typeof(VariableObject <>), type, name);

            properties[key] = instance;
            return(instance);
        }
示例#3
0
        public VariableObject AddVariable(Parameter parameter)
        {
            VariableObject v;

            if (properties.TryGetValue(parameter.id, out v))
            {
                v.name      = parameter.name;
                v.is_public = parameter.is_public;
                return(v);
            }
            VariableObject instance = (VariableObject)ObjectBase.CreateGenericInstance(typeof(VariableObject <>), parameter.valueType, parameter.id, parameter.name, parameter.is_public);

            properties[parameter.id] = instance;
            return(instance);
        }