2011-08-23 96 views
4

是否可以像操作一樣將條件作爲參數傳遞?將條件作爲參數傳遞

下面是一個例子。

public void Test(Action action, Condition condition); 

...

Test(() => Environment.Exit(0),() => variable == variable2); 

回答

13

嘗試通過第二個參數爲Func<Boolean>類型。該代碼應工作,你必須在你問題的第二部分:

public void Text(Action action, Func<Boolean> condition) { 
    if (condition()) action(); 
} 

編輯:請注意,你會在你的使用示例做的是創造一個Closure包含捕獲變量變量,變量2。在以這種方式使用它們之前,您應該瞭解閉包的含義。

+0

工作完美,非常感謝!並感謝關於閉路電視的鏈接:) –