c#中的构造函数,把conn=new SqlConnection(connstr)写在构造函数里,当调用Excutenonquery()方法时, 5
它怎么知道先运行构造函数里的conn=newSqlConnection(connstr)????????namespaceDLL{publicclassSqlhelper...
它怎么知道先运行构造函数里的conn = new SqlConnection(connstr)????????
namespace DLL
{
public class Sqlhelper
{
private SqlConnection conn = null;
private SqlCommand cmd = null;
private SqlDataReader sdr = null;
string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
public Sqlhelper()
{
conn = new SqlConnection(connstr);
}
public int Excutenonquery(string sql)
{
conn.Open();
cmd = new SqlCommand(sql, conn);
int res = cmd.ExecuteNonQuery();
conn.Close();
return res;
} 展开
namespace DLL
{
public class Sqlhelper
{
private SqlConnection conn = null;
private SqlCommand cmd = null;
private SqlDataReader sdr = null;
string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
public Sqlhelper()
{
conn = new SqlConnection(connstr);
}
public int Excutenonquery(string sql)
{
conn.Open();
cmd = new SqlCommand(sql, conn);
int res = cmd.ExecuteNonQuery();
conn.Close();
return res;
} 展开
1个回答
展开全部
一个类的构造函数在初始化时就已经运行了,所以放在构造函数里的代码,一旦实例化
就会全部执行的,不需要调用的。
就会全部执行的,不需要调用的。
追问
其实我有点不明白的是为什么需要构造函数,这个例子中,我不用构造函数,也能实现。构造函数的好处在哪?望大神指点一二
追答
每个类都有构造函数的,如果不写得话,编译器就会提供一个隐式默认的构造函数,
它的作用就是初始化一些成员变量为默认值,比如布尔类型为false,数值为0,
当我们编写构造函数后,编译器就不会提供隐式构造函数了,而把我们编写的构造
函数做为默认的了,所以我们写于不写都不会有任何影响。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询