Похоже, вам нужен только один класс (TcpConnection
) со свойствами для IP-адреса, порта, числа повторных попыток и т. Д.
Я бы предложил такую структуру:
public sealed class TcpConnection
{
private readonly int port;
public int Port { get { return port; } }
// Or use one of the types from System.Net
private readonly string ipAddress;
public string IpAddress { get { return ipAddress; } }
private readonly int retryCount;
public int RetryCount { get { return retryCount; } }
// etc
public TcpConnection(XElement element)
{
// Extract the fields here
}
}
(В качестве альтернативы используйте статический метод фабрики для извлечения значений из XElement и конструктор, принимающий только «необработанные» значения.)
Затем для хранения нескольких значений просто используйте List<TcpConnection>
.
Это точнее, чем один объект, хранящий несколько IP-адресов, несколько повторных попыток и т. Д.