2009-04-20 11 views
0

私は以下で使用しているクラスを持っています。私はこのクラスを私のWindowsアプリケーションに使用しています。しかし、私のアプリケーションReadInConfig()からメソッドを呼び出すと、正常にデータテーブルが読み込まれ、塗りつぶされ、_sip_ipアドレスが割り当てられます。C#クラスオブジェクト

私のWindowsアプリケーションでは、次のことがあります。しかし、割り当てられているsip_ipは私には与えられません。

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

I)は、データテーブルによって割り当てられている_sip_ipこのreadIn.sip_ipを(行うよりも別のオブジェクトであると考えています。

この問題を解決する方法はありますか?あなたはReadInConfigに電話をするのを忘れた

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

「何もない」とは何ですか?空の文字列ですか?そうであれば、これは_sip_ipフィールドのための完全に有効な値です。有効な値でない場合は、アサーションを割り当てた直後にアサーションを挿入します。 –

+0

** NOTE **回答者は、質問に回答していたときに、欠落した行を編集しました。 – ChrisF

答えて

6

多くのおかげで、:

+0

こんにちは、申し訳ありません。私はReadInConfig()を呼び出していました。私がコピーして貼り付けたとき、私はそれを残しておく必要がありました。私は自分のコードを編集しました。 – ant2009

+2

その場合、私の推測はdt.Rows [0] ["Sip_ip"]です。ToString()は空です。その行にブレークポイントを設定して、データテーブルに含まれるものを確認してください。 –

3

あなたのコードは、逐語的にあなたのクライアントコードがReadInConfig()メソッドを呼び出していないコピーされた場合。そのため、文字列には決してデータが格納されません。

関連する問題