public static ObserverDataTable Observe(string key) { IObserver observer = null; lock (_syncRoot) { if (!_observers.TryGetValue(key, out observer)) { throw new KeyNotFoundException("Observer Not Found:" + key); } } List<ObserverItem> list = observer.Observe(); ObserverDataTable table = new ObserverDataTable(); if (list.Count == 0) { table.Columns = new string[0]; table.ColumnTypes = new ObserverColumnType[0]; table.Rows = new List<RpcClass<string[]>>(); table.ClearTime = DateTime.Parse("2000-01-01"); return table; } var formatter = list[0].GetFormatter(); table.ClearTime = observer.ClearTime; table.Columns = formatter.Columns; table.ColumnTypes = formatter.ColumnTypes; table.Rows = new List<RpcClass<string[]>>(); foreach (var i in list) { string[] ss = formatter.GetRow(i); table.Rows.Add(new RpcClass<string[]>(ss)); } return table; }
public static ObserverDataTable Observe(string key) { IObserver observer = null; lock (_syncRoot) { if (!_observers.TryGetValue(key, out observer)) { throw new KeyNotFoundException("Observer Not Found:" + key); } } List <ObserverItem> list = observer.Observe(); ObserverDataTable table = new ObserverDataTable(); if (list.Count == 0) { table.Columns = new string[0]; table.ColumnTypes = new ObserverColumnType[0]; table.Rows = new List <RpcClass <string[]> >(); table.ClearTime = DateTime.Parse("2000-01-01"); return(table); } var formatter = list[0].GetFormatter(); table.ClearTime = observer.ClearTime; table.Columns = formatter.Columns; table.ColumnTypes = formatter.ColumnTypes; table.Rows = new List <RpcClass <string[]> >(); foreach (var i in list) { string[] ss = formatter.GetRow(i); table.Rows.Add(new RpcClass <string[]>(ss)); } return(table); }