这是别的地方实例化子类构造方法传值(加断点,在这con是有值的)
 public ServiceStationData dataAccess = new ServiceStationData(con);子类:
 public partial class ServiceStationData  : BaseData
    {
       
        public ServiceStationData(string con)
        {            BaseData.con = con;        }
}
父类:
  public class BaseData : RootSqlData
       {           public static string con;
                  
           internal BasicDataAccess basicDataAccess = new BasicDataAccess(con);
}
加断点到了子类和父类里con都是是null

解决方案 »

  1.   

    static变量不能继承。
    你可以用父类类名.静态变量 = 值来赋值。但是只有子类被调用,才会改变,为此,你可以用虚函数:public static string con;
    =>
    private static string con;
    public static void SetCon(string constr)
    {
        con = constr;
        basicDataAccess = new BasicDataAccess(con);
    }
    子类:
      public partial class ServiceStationData  : BaseData
         {
            
             public ServiceStationData(string con)
             {
     
                BaseData.SetCon(con);
     
            }
     }
      

  2.   

    先调用父类的internal BasicDataAccess basicDataAccess = new BasicDataAccess(con);
    在调用子类的构造,所以你的basicDataAccess里的con是空
      

  3.   

    解决了,把父类static 去掉,子类构造函数base传的值