這主要出現在嘗試調試F#代碼在Visual Studio調試器,它期望C#語法:如何引用C#上下文中包含單引號的F#名稱?
調試器無法識別F#表達式。要在F#調試期間在調試器窗口或對話框中輸入表達式,必須將表達式轉換爲C#語法。將F#表達式轉換爲C#時,請務必記住C#使用==作爲比較運算符以獲得相等性,並且F#使用單個=。
(從http://msdn.microsoft.com/en-us/library/vstudio/ee843932.aspx)
的問題是,我有變量,包含單引號字符,如path'
功能,但單引號似乎並不有效,在C#的名字,在這樣進入path'
調試器窗口只是說:Newline expected in constant
或類似的話,因爲它認爲我開始一個字符文字。即使右擊它並通過上下文菜單添加手錶也會出現類似的錯誤。
我怎麼能翻譯包含單引號到C#語法F#的名字,這樣我可以從調試器中檢查他們或從C#代碼參考呢?
很多F#的內在功能與別名名稱秉承框架設計指南。我假設有一個屬性可以被添加到一個控制IL中外部名稱的函數中。 (我知道這並不直接解決問題,但它可能會給你的想法/期權) –
你也許可以使用反射。你只是將F#代碼翻譯成C#,或者你是否真的從C#調用F#? – Jwosty
@Jwosty:後者。 –