2009-04-20 13 views
0

Ich habe eine Klasse, die ich unten verwende. Und ich verwende diese Klasse für meine Windows-Anwendung. Wenn ich jedoch die Methode aus meiner Anwendung ReadInConfig() aufrufen, liest und füllt sie die Datentabelle erfolgreich und weist die _sip_ip-Adresse zu.C# Klassenobjekte

In meiner Windows-Anwendung habe ich Folgendes. Allerdings gibt es mir nicht die sip_ip, die es zugewiesen wurde.

ConfigSIP readIn = new ConfigSIP(); 
readIn.ReadInConfig(); 
string sip_ip = readIn.sip_ip(); // Get nothing here. 

ich als _sip_ip denke, das von der Datentabelle zugeordnet wurde, ist eine andere Aufgabe, als diesen readIn.sip_ip tun();

Gibt es eine Möglichkeit, dieses Problem zu lösen?

Vielen Dank,

public class ConfigSIP 
{ 
    private string _sip_ip; 

     // Fill the data table and assign the sip ip. 
    public void ReadInConfig() 
    { 
     DataTable dt = new DataTable("Admin"); 
     dt.ReadXmlSchema(@"C:\Config.xml"); 
     dt.ReadXml(@"C:\Config.xml"); 

     _sip_ip = dt.Rows[0]["Sip_ip"].ToString(); 
    } 

     // Return the sip ip address. 
    public string sip_ip() 
    { 
     return _sip_ip; 
    } 
} 
+0

Was ist "nichts"? Eine leere Zeichenfolge? Wenn dies der Fall ist, ist dies ein vollkommen gültiger Wert für das _sip_ip-Feld. Wenn es kein gültiger Wert ist, dann setze eine Assertion direkt nach dem Zuweisen, was dies besagt. –

+0

** NOTE ** das OP hat die fehlende Zeile in der Frage bearbeitet, als sie beantwortet wurde. – ChrisF

Antwort

6

Sie haben vergessen ReadInConfig zu nennen:

+0

Hallo, tut mir leid. Ich habe ReadInConfig() aufgerufen. wenn ich kopiert und eingefügt habe, muss ich es weggelassen haben. Ich habe jetzt meinen Code bearbeitet. – ant2009

+2

In diesem Fall ist meine Schätzung, dass dt.Rows [0] ["Sip_ip"]. ToString() leer ist. Versuchen Sie, einen Haltepunkt an dieser Linie festzulegen und zu sehen, was Ihre Datentabelle enthält. –

3

Wenn Ihr Code kopiert wörtlich Ihre Kundennummer nicht ist die ReadInConfig() -Methode aufrufen. Daher wird die Zeichenfolge nie ausgefüllt.

Verwandte Themen