2013-01-02 49 views
-3

我在某些類中有幾個嵌套方法。首先從主功能調用。現在,如果某些條件成立,我希望下一個執行的語句是main中的某個語句。那是怎麼回事?如何從另一個類返回主函數中的特定語句

class A { 
     void a() 
     { 
      b(); 
      c(); 
     } 
     void b() 
     { 
      e(); 
      c(); 
     } 
} 

如果在任何函數的一些條件在A級是真的,我想轉到B類主要功能,正是上是調用了Aa()

+5

您能否提供一個代碼示例?此外,我的第一反應是:你不能,但也許我失敗,你明白你想實現什麼...... –

+1

發佈你的代碼。 –

+1

你能展示一些代碼來說明你正在努力完成什麼嗎? (即使是非編譯的僞代碼?)目前還不清楚你的意思。這聽起來像你只是想從第一種方法返回。如果是這種情況,只需使用'return'關鍵字即可。 – David

回答

0

使用goto 標識

後第一條語句

其中identifier是希望如果要執行主的東西根據function然後使用Func<bool>返回到主

+0

哇,我直到現在才知道C#中存在'goto'。不過,我不建議將它用於控制執行流程。 – David

+0

我不太清楚解決方案,但他要求的解決方案保證它 – stamhaney

+2

爲什麼downvote?這顯然是一個笑話。 – Matthew

0

點,如果你的函數接受參數然後使用Func<T in, bool>

使用

var isInt2 = new Func<int, bool>(int i => i == 2); 
    if (isInt2(2)) 
    Console.WriteLine("Do something in main"); 

您的拉姆達=>後,你做你的條件。以上是Func<T in, bool>的示例。

http://msdn.microsoft.com/en-us/library/bb549151.aspx

+0

@Downvoter有什麼理由? – LukeHennerley

+0

很確定外部函數不是布爾值應來自哪裏,但他可能想在這裏使用代表。我的解釋是,他想要將一個'Action'從main傳遞給這個類,它會在某個地方出現一個布爾值,如果爲true,則會調用該動作。 – Servy

相關問題