namespace xx
public class a
{
    private string tableName;
    public string TableName
   {
        get{
           return tableName;
         }
    }
   private void xx()
  {
      tableName = xx;  //通过控件操作生成的值
   }
}
namespace xx
{
    private a aa;
    public class b
    {
         private string tn;
        private void xx()
        {
            this.tn = aa.TableName;
         }
    }
}
但是 tn 得值一直为空,难道类属性值的引用不是这样的吗?
高手指点,谢谢!

解决方案 »

  1.   

    因为aa现在只是个null引用所以你对aa调用属性会产生异常
    如果只是简单对int[] num作了个声明而不对其进行定义的话,也会产生NullReferenceException异常。
    只要是引用类型对象都必须使用new操作符为其分配空间并调用其构造函数
      

  2.   

    a aa = new a();
      

  3.   

    private a aa;
        public class b
        {
             private string tn;
            private void xx()
            {
                this.tn = aa.TableName;
             }
        }
    同意楼上 这里要先实例化 .或者TableName用静态 就可以直接用了.
      

  4.   

    呵呵,还未实例化自然就是null了!
      

  5.   

    1.a aa = new a();2.class a 中对TableName进行初始化
      

  6.   

    namespace xx
    {
        private a aa = new a ();
        public class b
        {
            private string tn;
            private void xx()
            {
                aa.xx ();
                this.tn = aa.TableName;
             }
        }
    }
      

  7.   

    : wxqq2001(就让我用一生等待) (说得很明白,要不实例化,要不就转成静态方法。