两种构造方式,哪个好?高手进来谈谈
两种构造方式,哪个好?有什么区别?
方式一:
public class SqlHelper
{
public SqlConnection Conn;
public SqlHelper()
{
Conn=new SqlConnection(ConfigurationSettings.AppSettings["MC"]);
}
}
方式二:
public class SqlHelper
{
public SqlConnection Conn=new SqlConnection(ConfigurationSettings.AppSettings["MC"]);
}
问题点数:20、回复次数:6Top
1 楼jxufewbt(我的目标是5星)回复于 2005-11-03 11:40:38 得分 1
第一种要好一点Top
2 楼qsoo(求 索)回复于 2005-11-03 11:43:08 得分 0
拿意见的请谈谈原因 嘿嘿 因为不说原因的话 我无法判断 呵呵Top
3 楼zdwrabbit(心存梦想)回复于 2005-11-03 11:43:40 得分 0
同感,最好再加点判断之类的Top
4 楼ET2004(外星人)回复于 2005-11-03 11:43:50 得分 17
建议用 Lazy Initialize,即在第一次使用的时候才初始化:
public class SqlHelper
{
private SqlConnection conn;
public SqlConnection Connection
{
get
{
if (this.conn == null)
{
this.conn = new SqlConnection(ConfigurationSettings.AppSettings["MC"]);
}
return this.conn;
}
}
}
建议不要使用 public 的成员变量,而是封装成属性。Top
5 楼JadyWang(两手抓,两手都要硬!)回复于 2005-11-03 11:45:33 得分 1
对阿,说说原因,我怎么看是一样的Top
6 楼langmafeng(乞力马扎罗)回复于 2005-11-03 11:51:53 得分 1
这两种方法最后编译出的IL代码是完全一样的Top




