程序中if(){}判断语句中根据判断结果,实例化某一对象,后续语句中需要多次调用该对象,但是if(){}结束后,局部对象已经被释放,如何定义来满足后续调用的需求,if(){}语句执行之前无法定义,因为需要根据判断条件确定实例化的对象,也就是说之前并不确定要实例化哪个对象。

解决方案 »

  1.   

    你在if之前都不确定自己要实例化什么对象,你后面要如何使用?
    顶多是object。
      

  2.   

    但是我if判断以后可以实例化,我需要实例化以后在if语句块之外调用,如果操作?
      

  3.   

    我说了,你下面的代码都不知道之前实例化的是个什么东西,你想怎么写下面的处理?
    if()
    {
      A x = new A();
    }
    else
    {
      B x = new B();
    }...
    x.?
    你都不知道x到底是A还是B,你想怎么处理?
    只能是把x定义为A和B的基类。
      

  4.   

    1、用接口,定义它们的共同方法和属性。
    2、用反射。4.0的话可以考虑dynamic。