class b
  {
    a aa = new a();     
  }  class c
  {
    a aa = new a();     
  }  class a
  {
    public a()
    {
      //怎样在构造函数中获取是哪个类实例化的
       //也就说有没有办法得到上面的 a,和c啊
    }
  }

解决方案 »

  1.   

    当我在 b 类中 定义一个 a aa = new a();
    按照执行过程 或 执行a的构造函数,怎么样在 a的构造函数中 获取b 的类型,就是获取实例化 或是 执行  a 类构造函数a() 的对象
      

  2.   

    要不自己定义构造函数传
    要不就泛型传
    你的题目本身的几个类之间又没啥特别的关系,呵呵,A通过B认识C,至少他们都的认识B撒 
      

  3.   

    另一个方式是使用委托,a类在new的时候调用某个委托,b类,c类分别把这个委托交给自己的函数处理
    这样new的时候,就可以通过委托这个中介处理机构认识对方了
      

  4.   

    我知道可以用这样的方法  class a
      {
        public a(Tpey type)
        {
            //用参数传过来     
         }
      }
      class b
      {
        a aa = new a(this.GetType())
      }
    但是总觉得这方法不好
      

  5.   

    试试System.Reflection.MethodBase.GetCurrentMethod()中的方法。
      

  6.   


     private class A
            {
                private B b;            public A()
                {
                    b = new B();
                }
            }                     private class B
            {
                public B()
                {
                    StackTrace st = new StackTrace(false);
                    StackFrame sf = st.GetFrame(1);
                    Console.WriteLine(sf.GetMethod().ReflectedType.Name);
                }
            }