2010-06-20 3 views
0

Je crée un fichier XML qui va contenir quelques valeurs concernant la connexion TCP (IP (chaîne), PORT (int), RetryCount (int), StartAutomatically (bool) et ainsi de suite.Il y aura un certain nombre de TcpConnections définies comme Ce que je pensais être de créer un type d'objet appelé TcpConnectionHolder que je pourrais créer dynamiquement (un par connexion tcp) qui contiendrait tous les champs liés afin que je puisse facilement charger toutes les connexions tcp de xml à cet objet dynamique et que je pourrais réutiliser plus tard ces champs, ou les mettre à jour à partir du code si nécessaireComment créer un objet avec plusieurs valeurs?

Mes questions sont les suivantes:.

  1. Comment créer un tel objet avec plusieurs champs (exemple avec plus d'une valeur -> Les données seraient bien)
  2. Comment attribuer plusieurs valeurs à une connexion - (de préférence toutes les deux réglant toutes les valeurs à la fois et une par on serait bien).
  3. Comment puis-je le lire?

Répondre

2

On dirait que vous avez juste besoin d'une classe (TcpConnection) ayant des propriétés pour l'adresse IP, le port, le nombre de relances, etc.

Je suggère une sorte de structure comme ceci:

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 
    } 
} 

(Alternativement, ont une méthode d'usine statique pour extraire les valeurs d'un XElement, et un constructeur vient de prendre les valeurs « brutes ».)

Ensuite pour stocker plusieurs valeurs, il suffit d'utiliser un List<TcpConnection>.

C'est plus propre qu'un seul objet stockant plusieurs adresses IP, plusieurs chefs de nouvelles tentatives etc.

+0

Exactement ce que je avais besoin :-) – MadBoy

Questions connexes