C# C类对象
我在下面使用了一个类。我将这个类用于我的windows应用程序。但是,当我从我的应用程序ReadInConfig()调用该方法时,它成功读取并填充数据表,并分配_sip_ip地址 在我的windows应用程序中,我有以下内容。但是,它没有给我分配的sip_ipC# C类对象,c#,class,object,C#,Class,Object,我在下面使用了一个类。我将这个类用于我的windows应用程序。但是,当我从我的应用程序ReadInConfig()调用该方法时,它成功读取并填充数据表,并分配_sip_ip地址 在我的windows应用程序中,我有以下内容。但是,它没有给我分配的sip_ip ConfigSIP readIn = new ConfigSIP(); readIn.ReadInConfig(); string sip_ip = readIn.sip_ip(); // Get nothing here. 我认为数据
ConfigSIP readIn = new ConfigSIP();
readIn.ReadInConfig();
string sip_ip = readIn.sip_ip(); // Get nothing here.
我认为数据表分配的_sip_ip与readIn.sip_ip()中的操作是不同的对象
我有办法解决这个问题吗
非常感谢,
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;
}
}
您忘记调用ReadInConfig:
ConfigSIP readIn = new ConfigSIP();
readIn.ReadInConfig();
string sip_ip = readIn.sip_ip();
如果您的代码是逐字复制的,那么您的客户端代码不会调用ReadInConfig()方法。因此字符串将永远不会填充。您好,抱歉。我打电话给ReadInConfig()。当我复制和粘贴时,我一定把它漏掉了。我现在已经编辑了我的代码。在这种情况下,我猜测dt.Rows[0][“Sip_ip”].ToString()是空的。尝试在该行设置断点,看看datatable包含什么。什么是“nothing”?空字符串?如果是,这是_sip_ip字段的一个完全有效的值。如果它不是一个有效的值,那么在分配它之后立即放置一个断言,这说明是这样的。注意,OP在回答问题时编辑了缺少的行。