using System; using System.Collections.Generic; namespace Aop.Api { /// /// 符合AOP习惯的纯字符串字典结构。 /// public class AopDictionary : Dictionary { private const string DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; public AopDictionary() { } public AopDictionary(IDictionary dictionary) : base(dictionary) { } /// /// 添加一个新的键值对。空键或者空值的键值对将会被忽略。 /// /// 键名称 /// 键对应的值,目前支持:string, int, long, double, bool, DateTime类型 public void Add(string key, object value) { string strValue; if (value == null) { strValue = null; } else if (value is string) { strValue = (string)value; } else if (value is Nullable) { Nullable dateTime = value as Nullable; strValue = dateTime.Value.ToString(DATE_TIME_FORMAT); } else if (value is Nullable) { strValue = (value as Nullable).Value.ToString(); } else if (value is Nullable) { strValue = (value as Nullable).Value.ToString(); } else if (value is Nullable) { strValue = (value as Nullable).Value.ToString(); } else if (value is Nullable) { strValue = (value as Nullable).Value.ToString().ToLower(); } else { strValue = value.ToString(); } this.Add(key, strValue); } public new void Add(string key, string value) { if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(value)) { base.Add(key, value); } } } }