【发布时间】:2013-07-29 00:59:17
【问题描述】:
我有 2 个类,第一个 Connector 类
public class Connector
{
private SqlConnection sqlCon = new SqlConnection();
public ErrorProvider ConnectTo(string serverID, string databaseName)
{
ErrorProvider errorProv = new ErrorProvider();
const string defineString = "Data Source={0};Initial Catalog={1};Integrated Security=True;Asynchronous Processing=true;MultipleActiveResultSets=True";
try
{
if (sqlCon.State == ConnectionState.Open && sqlCon.ConnectionString == string.Format(defineString, serverID, databaseName))
{
errorProv.ConnectionStatus = ConnectionStat.Success;
}
sqlCon.ConnectionString = string.Format(defineString, serverID, databaseName);
sqlCon.Open();
sqlCon.Close();
errorProv.ConnectionStatus = ConnectionStat.Success;
}
catch (SqlException ex)
{
errorProv.ConnectionStatus = ConnectionStat.Fail;
errorProv.ErrorMessage = ex;
}
return errorProv;
}
}
现在我想向其他类调用发送值 ErrorProvider
public class ErrorProvider
{
public ConnectionStat ConnectionStatus { get; set; }
public SqlException ErrorMessage { get; set; }
public ConnectionDetils ConnectionDet;
}
public enum ConnectionStat
{
Success,
Fail
}
public class ConnectionDetils
{
public string ServerID { get; set; }
public string DatabaseName { get; set; }
public string UserName { get; set; }
}
当我尝试在这段代码中使用它时,它什么也没返回
OT.ConnectTo("(local)", "TestOTLab").ErrorMessage.ToString
OT.ConnectTo("(local)", "TestOTLab").ConnectionStatus.ToString
我希望它通过错误值、连接状态、DatabaseName、ServerID 和 Username 返回。 我怎么能这样做
【问题讨论】:
-
ToString() 不应该有括号吗?
-
如果连接成功,那么
ErrorMessage将为空,所以你调用.ToString会抛出异常。 -
我将您的变量更新为小写,以便 stackoverflow 将它们着色为黑色并且更易于阅读。我还删除了命名空间详细信息,因为这没有为问题增加任何价值。