我实例化了呀 private a aa。

解决方案 »

  1.   

    呵呵
    private a aa只是申明了一下而已
    没有实例呀!
      

  2.   

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

  3.   

    //申明 
    private a aa//实例化是 
     a=new aa();// 给table 名 
     aa.TableName="dd";
      

  4.   

    namespace xx
    public class a
    {
        private string tableName;
        public string TableName
       {
            get{
               return tableName;
             }
        }
       private void xx()   //让人头疼,你是不是只认识 xx ?
      {
          tableName = xx;  // 通过控件操作生成的值
                           // xx 从何而来?
       }
    }
    namespace xx
    {
        private a aa;        //命名空间并不直接包含诸如字段或方法之类的成员
        public class b
        {
            private a aa;    // 你是不是像这样写
            private string tn;
            private void xx()
            {
                this.tn = aa.TableName;
             }
        }
    }实在看不懂
      

  5.   

    哦,不好意思
    我写错了,是这样的,private a aa = new a();
    至于TableName的名字是通过tableName,而tableName是程序生成的
      

  6.   

    如果按楼主思路b类的对象应该是相识(acquaintance)对象aa,而非聚合(aggregation).
    b类对象只是使用aa的一个属性,而不控制aa对象.
    谁来使用aa的xx方法不得而知,只是知道其功能是为tableName字段设置一个值,只读属性TableName只是返回aa对象当前的一个状态.
    当使用b类对象的时候也可能会调一个xx方法,其作用就是通过aa对象的状态来设置自己一个的状态.
    不知道楼主是不是这个意思
    但楼主把程序写成这样是达不到效果的
      

  7.   

    to jiangpeng
    我的意思就是这样,b类对象只是使用aa的一个属性
    不知道应该怎样做才能达到目的呢?谢谢!
      

  8.   

    把b类的xx方法改成接受一个a对象参数
    private void xx(a aa)
    {
        this.tn = aa.TableName;
    }在向b类对象传递xx消息的时候只要传个它一个a对象就可以了
    假设b类对象有一个公开方法其中一个功能就是使用一个a对象设置自己的一个状态也就是调用xx方法.public void F(a obj)
    {
      ...
      xx(obj);
      ...
    }在使用a类,和b类的方法中,如Main
    class AppMain
    {
      static void Main()
      {
        a aa = new a();
        ... // 其中有个事件调用了aa的xx方法设置了aa的一个状态
        b bb = new b();
        bb.F(a); // 通过以生成对象aa的一个状态,来设置bb对象的状态
        ...
      }
    }