读书人

类A继承了类B,调用类A的时候小弟我希望

发布时间: 2012-08-19 21:09:48 作者: rapoo

类A继承了类B,调用类A的时候我希望类A能执行一下它本身的构造函数(2个类里面的方法都是静态的)
我先把2个类的结构和关系说明一下:

C# code
类B:public class B{   public static string StrConnection   {      get;      set;   }   public static int GetDataSet(string sql)   {      StrConnectionconn=new StrConnection(StrConnection),      //.....此处代码省略....   }}类A:public class A:B{   public static string conn="server=.;uid=sa;pwd=123;database=test";   static A()   {      B.StrConnection=conn;   }}


我在页面代码中直接这样调用
dataset ds=A.GetDataSet("select * from table1");
很显然是不能行的,因为这样相当于是直接调用类B中的GetDataSet方法,
而类B中的那个StrConnection属性是在类A中赋值的,
我调试的结果是类A的那个静态构造函数根本没执行

我把类这样写是因为:项目需要用到3个数据库,我把B类作为基类,让其他的类去继承它,而其他继承B类的类只要变量conn值不同就可以访问不同的数据库了,问题是怎么样把变量conn赋给B类的StrConnection呢?

有没有什么办法让类A中的构造函数执行一下?

[解决办法]
全是静态的成员的类本身就没有了继承的意义。
[解决办法]
别纠结了,你一个数据库连接取表类,真的不用这么复杂,一个静态类就能搞定了。。。。。。

你连3个数据库,生成同一类的三个实例就可以了。

读书人网 >C#

热点推荐