/// <summary>设置类型</summary> /// <param name="key"></param> /// <param name="value">数值</param> public void SetItem(String key, Object value) { if (value == null) { this[key] = String.Empty; return; } var t = value.GetType(); if (t.IsValueType || Type.GetTypeCode(t) == TypeCode.String || t == typeof(Object)) { this[key] = value.ToString(); return; } else if (value is IEnumerable) { var data = new ExtendData(); data.Root = key; IEnumerable list = value as IEnumerable; Int32 i = 1; foreach (var item in list) { data["Item" + i++.ToString()] = item.ToString(); } this[key] = data.ToXml(); if (XmlKeys == null) XmlKeys = new List<String>(); if (!XmlKeys.Contains(key)) XmlKeys.Add(key); return; } throw new XException(String.Format("不支持的类型{0},键{1},数据{2}", t, key, value)); }