一个类的构造函数设计
public Dict(string En)
{
string SelectCMD = "SELECT * FROM [dicts] WHERE([English]= ' "+En+ " ') ";
Conn cnn = new Conn();
OleDbCommand oCommand = new OleDbCommand(SelectCMD, cnn.oConn);
OleDbDataReader oReader;
try
{
oCommand.Connection.Open();
oReader = oCommand.ExecuteReader();
while (oReader.Read())
{
this._Cn = oReader[ "Chinese "].ToString();
this._En = oReader[ "English "].ToString();
this._Id = Convert.ToInt32(oReader[ "id "].ToString());
}
return;
}
catch (Exception exception)
{
throw exception;
}
}
我的本意是重载构造函数,使得可以自动返回类实例,
但是刚刚想到这样做有个小问题,即:如果查询为空时怎么办?
当然可以再设计一个有返回值的函数,
或者再设计一个检测是否有数据的函数,
如果有则执行带参构造函数,如果没有数据则执行默认的构造的函数,
我贴出来是想问问,在需要获取数据并实例化时,通常怎么操作?
------解决方案--------------------我个人更喜欢这个些
public class Dict{
public static Dict Undefine;
public Dict GetByEn(string En){
if(oReader.Read()){
return newInstance;
}
else{
return Undefine;