2011-08-23 51 views
-1

例如如何在成员方法中的条件成立时重新启动对象?

  Class AClass 
      { 
       public AClass (int a) 
       {...} 
       public void DoIt() 
       { 
       ... 
       c = PreDo(); 
       ... 
       } 
       private int PreDo() 
       { ... 
       if (b==1) 
        xxxxx 
       ... 
       } 
      } 

     int Main() 
      { 
       AClass myClass = new AClass(2); 
       myClass.DoIt(); //* 
      } 

*这里我想一旦XXXX叫然后MyClass的是没有长期有效。

因此它将在main中尝试使用myClass = new AClass(3), myClass.DoIt(),等等。

+1

你的方法和变量似乎根本不相关。 – BoltClock

+0

请重构你的问题,以便它可读。目前我发现很难确定这个问题。 –

+0

究竟你想在这里实现什么?告诉我们为什么你在做什么,在哪里需要帮助 – mtijn

回答

0

是否横跨所有实例或仅在一个实例中? ...只是使用(静态)变量notRunAllready记住调用(所以if (b==1)if (!notRunAllready && b==1)),你在XXXX

0

设置notRunAllreadytrue可能是我理解你在说什么。 您可能希望基于某些在内部类的构造函数中初始化的类内部变量进行条件执行。

  1. 声明他们像static像@CKoening说。但它是由我们连线的,因为在通话过程中会发生什么并不是十分清楚。

  2. 制定条件执行的最佳解决方案是将方法的参数添加到您的DoIt(..)方法中,方法是明确指出“如果将此参数传递给函数会发生什么情况”。

如果这不是你问的问题,请更好地解释。