如何创建具有多个值的对象?

时间:2010-06-20 20:32:08

标签: c# object .net-4.0

我正在创建XML文件,该文件将包含几个关于TCP连接的值(IP(字符串),PORT(int),RetryCount(int),StartAutomatically(bool)等等。)将定义多个TcpConnections那样的(我不知道)。

我想创建某种称为TcpConnectionHolder的对象,我可以动态创建(每个tcp连接一个),它将保存所有相关字段,这样我就可以轻松地将所有tcp连接从xml加载到该动态对象,我可以稍后重用这些字段,或在必要时从代码更新它们。

我的问题是:

  1. 如何使用多个字段创建此类对象(示例包含多个值 - >数据会很好)
  2. 如何为一个连接分配多个值 - (最好一次设置所有值并逐个设置将很好)。
  3. 我如何阅读?

1 个答案:

答案 0 :(得分:2)

看起来您只需要一个具有IP地址,端口,重试次数等属性的类(TcpConnection)。

我建议使用这样的结构:

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地址,多次重试计数等的单个对象更整洁。