标题:C#类的一个问题
取消只看楼主
snowka
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-6-27
 问题点数:0 回复次数:1 
C#类的一个问题
如果有两个类 A,B:
public class A
{
  protected SqlConnection objSqlConnection;
  public A
  {
    this.objSqlConnection = new SqlConnection("server=.;database=database_name;uid=sa;pwd=;");
  }
  // do something ...
}

public class B : A
{
  //在这种情况下 base.objSqlConnection.open();可以用
  base.objSqlConnection.open();
}

//但是下面的情况不能用,为什么?
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

如果有两个类 A,B,C:
public class A
{
  protected SqlConnection objSqlConnection;
  // do something ...
}

public class C
{
  A a = new A();
// a.objSqlConnection.open();不可用
  a.objSqlConnection.open();
}
public class B : A
{
  //在这种情况下 base.objSqlConnection.open();可以用
  base.objSqlConnection.open();
}
搜索更多相关主题的帖子: something database public server 
2008-06-27 15:41
snowka
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-6-27
得分:0 
非常感谢大家
我觉得,不能用的原因是 objSqlConnection 实例化的地方造成的
如果 在类的一个普通方法中实例化,那么这个 objSqlConnection 属于这个类的对象,如果在构造方法中实例化
objSqlConnection 那么它属于整个类

不知这样想对不对
2008-07-01 14:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-221593-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.129287 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved