using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MesAdaptor { public class ValueReportDatas : IEnumerable { public ValueReportDatas() { _valueReportDatas = new List(); } public void Add(string key,string val, bool success) { var data = new ValueReportData(key,val,success); var sameKey = _valueReportDatas.FirstOrDefault(x => x.Key == data.Key); _valueReportDatas.Remove(sameKey); _valueReportDatas.Add(data); } public void Add(ValueReportData data) { var sameKey = _valueReportDatas.FirstOrDefault(x=>x.Key == data.Key); _valueReportDatas.Remove(sameKey); _valueReportDatas.Add(data); } public void Clear() { _valueReportDatas = new List(); } public IEnumerator GetEnumerator() { return _valueReportDatas.GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return _valueReportDatas.GetEnumerator(); } public ValueReportData this[string index] { get { return _valueReportDatas.FirstOrDefault(x => x.Key == index); } } private List _valueReportDatas; } public class ValueReportData { public ValueReportData( string key, string val, bool isSuccess) { Key = key; Val = val; IsSuccess = isSuccess; } public string Key { get; private set; } public string Val { get; private set; } public bool IsSuccess { get; private set; } } }