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; } }
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); }
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); }