示例#1
0
        public static object ConvertAttributeValue(AttributeValueTypes attributeValueTypes, object value)
        {
            if (value == null)
            {
                return(null);
            }

            switch (attributeValueTypes)
            {
            case AttributeValueTypes.String:
                if (value is string)
                {
                    return(value);
                }

                return(value.ToString());

            case AttributeValueTypes.Double:
                if (value is double)
                {
                    return(value);
                }

                if (double.TryParse(value.ToString(), out double doubleResult))
                {
                    return(doubleResult);
                }
                break;

            case AttributeValueTypes.Boolean:
                if (value is bool)
                {
                    return(value);
                }

                if (bool.TryParse(value.ToString(), out bool boolResult))
                {
                    return(boolResult);
                }
                break;

            case AttributeValueTypes.Int:
                if (value is int)
                {
                    return(value);
                }

                if (int.TryParse(value.ToString(), out int intResult))
                {
                    return(intResult);
                }
                break;

            case AttributeValueTypes.DateTime:
                value = Convert.ToDateTime(value);
                break;
            }

            return(value);
        }
示例#2
0
 public void SetAttributeValue(string attributeName, AttributeValueTypes attributeValueTypes,
                               object attributeValue)
 {
     _attributes[attributeName] = ConvertAttributeValue(attributeValueTypes, attributeValue);
 }