怎么解释??

解决方案 »

  1.   

    要知道派生类的名字,不必知道他们怎么工作。
    abstract class A{}class C:A{}class Client{
    void f()
    {
       A obj = new C();//new的时候要知道C这个名字,当作A来用。
    }
      

  2.   

    看看IoC模式理解就更深了 可以使用spring.net
      

  3.   

    //B集成A
    A a = new B();
    //如果需要知道新建对象的类型,可以反射
    Type type = a.GetType();//此时type代表B的类型
    //如果需要构建B类型的实例,可以反射调用构造函数(这里反射调用默认构造函数)
    ConstructorInfo consInfo= type .GetConstructor(Type.EmptyTypes);
    B b1= (B)consInfo.Invoke(new object[]{});