/// <summary> /// 获取映射的tcp /// </summary> /// <param name="tcpClient">当前tcp</param> /// <param name="IsControl">当前tcp是否主控端</param> /// <returns></returns> public TcpClient this[TcpClient tcpClient, bool IsControl] { set { TcpClientMap retClientMap = _mapList.Where(t => IsControl?t.ControlClient == tcpClient:t.HomeClient == tcpClient).FirstOrDefault(); if (IsControl) { retClientMap.HomeClient = value; } else { retClientMap.ControlClient = value; } } get { TcpClientMap retClientMap = _mapList.Where(t => IsControl ? t.ControlClient == tcpClient : t.HomeClient == tcpClient).FirstOrDefault(); if (retClientMap == null) { return(null); } else if (IsControl) { return(retClientMap.HomeClient); } else { return(retClientMap.ControlClient); } } }
public TcpClientMap this[String key] { get { TcpClientMap map = _mapList.Where(t => t.Key == key).FirstOrDefault(); if (map == null) { map = new TcpClientMap() { Key = key } } ; _mapList.Add(map); return(map); } }