2013-01-31 41 views
0

我想實現Action作爲func並獲取錯誤:無法在此上下文中使用void。 請告知如何實現動作<..>作爲功能<...>

Action<string> someFunc_1 = Console.WriteLine; 
someFunc_1("Test"); 

Func<string, void> someFunc_2 = Console.WriteLine; 
+0

Void不是一種類型,它很特別。爲什麼不告訴我們*爲什麼*你想這樣做,所以我們可以幫助你另一個更好的解決方案? =) –

+0

好奇你爲什麼這樣做? –

+0

'Func'應該返回一個結果。在做一個'Console.WriteLine'之後,你希望它返回什麼? – BoltClock

回答

2

Action<T1, T2, ...>做是爲了取代Func<T1, T2, ..., void>

您不能在泛型中使用void。這不是C#中的類型。

然後在你的情況下,使用Action<string>而不是Func<string, void>

0
Func<string, bool> someFunc_2 = s => 
{ 
    Console.WriteLine(s); 
    return true; 
}; 
相關問題