2
我正在使用Visual Studio 2012,ASP.NET MVC 4和Razor視圖。請看下面的代碼:Razor,intellisense和lambda表達式的類型錯誤
@{
Action<Action<int>> fun = x => { x(42); };
fun(x => { PrintX(x); }); // This is OK
fun(x => { var z = PrintX(x); }); // This produces error
// "Argument 1: cannot convert from 'lambda expression' to
// 'System.Action<int>'"
}
@helper PrintX(int x) { <div>@x</div> }
不知何故添加字符var z =
到lambda函數的內容,使其無法將它轉換爲正確的類型(實際上,任何形式的服用該函數的值給出了這一點)。
但是這個錯誤只是由IntelliSense產生的。它在運行時工作。
什麼給?