Пример #1
0
        private static Parameter CreateProcessParameter(XmlElement level1Item)
        {
            Parameter parameter;
            var       strName = level1Item.GetAttribute("Name");
            var       strType = level1Item.GetAttribute("Type");

            if (level1Item.HasAttribute("DefaultValue"))
            {
                //参数有默认值
                // 默认值只可以是整数或字符串类型
                var defaultValue = BasicValue.ConvertValueString(strType, level1Item.GetAttribute("DefaultValue"));
                parameter = new Parameter(strName, strType);
                parameter.SetDefaultValue(defaultValue);
            }
            else
            {
                switch (strType.ToLower())
                {
                //参数无默认值
                case "object" when level1Item.HasAttribute("ComplexObjectType"):
                {
                    // 复杂参数类型
                    var strComplexObjectType = level1Item.GetAttribute("ComplexObjectType");
                    parameter = new Parameter(strName, strType, strComplexObjectType);
                    break;
                }

                case "customized" + "type" when level1Item.HasAttribute("ComplexObjectType"):
                {
                    // 定制化类型
                    var strComplexObjectType = level1Item.GetAttribute("ComplexObjectType");
                    //ICustomizedType customizedType = CustomizedTypeManager.GetCustomizedType();
                    parameter = new Parameter(strName, "CustomizedType", strComplexObjectType);
                    break;
                }

                default:     // 简单参数类型
                    parameter = new Parameter(strName, strType);
                    break;
                }
            }

            return(parameter);
        }
Пример #2
0
 public void SetDefaultValueInString(string strValue)
 {
     SetDefaultValue(BasicValue.ConvertValueString(_strType, strValue));
 }