类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个数据库,生成同一类的三个实例就可以了。