读书人

请问个菜鸟有关问题:怎么自定义一个s

发布时间: 2013-10-29 12:07:57 作者: rapoo

请教个初学者问题:如何自定义一个sqlconnection类?
想定义一个类,返回一个sqlconnection对象,以便重复调用,如何实现?
我定义了一个类,构造函数返回一个sqlconnection对象,但是我
在其他类中调用时
Conn conn = new Conn();
conn.Open();
则报错Conn类中美定义Open方法。

如果
Sqlconnection conn = new Conn();
又不能转换。

应该怎么实现?请教各位,我非IT专业 初学者

[解决办法]

class Conn
{
private string constr = ""; // connection string

public static implicit operator SqlConnection(Conn instance)
{
return new SqlConnection(instance.constr);
}
}


调用
SqlConnection conn = new Conn();
[解决办法]
还有一种写法

class?Conn : SqlConnection
{
????private?string?constr?=?"";?//?connection?string
?
public SqlConnection() : base(constr) { }
}

[解决办法]
如果“构造函数”返回一个sqlconnection对象,那么这个类必定就是(is-a)SqlConnection对象。因此从字面上理解,它就应该继承自SqlConnection。

继承自一个现成的类型,目的是扩展它的功能。而如果你没有扩展什么东西,如果使用SqlConnection也很方便,那么你就没有必要多设计一个类型。我们编程时当然是“类型越少越好、代码越少越好,最好连代码都不写而仅仅用鼠标拖一拖点一点就设计出程序”。只有必要时才需要设计自定义类型。

而这个“必要时”,往往就是指“从应用出发”。先搞清楚你要做的一个东西的业务领域背景、分析出所涉及的类型(以及有没有必要自定义类型)。而不是考虑那些纯粹计算机领域概念的类型。

读书人网 >C#

热点推荐