Syntax 我如何在C语言环境中引用包含单引号的F语言名称?

Syntax 我如何在C语言环境中引用包含单引号的F语言名称?,syntax,f#,Syntax,F#,这主要是在尝试在Visual Studio调试器中调试F#代码时出现的,该调试器需要C#语法: 调试器无法识别F#表达式。要在F#调试期间在调试器窗口或对话框中输入表达式,必须将表达式转换为C#语法。当您将一个F#表达式转换为C#时,请务必记住C#使用==作为相等的比较运算符,而F#使用单个= (来自) 问题是,我的变量和函数包含单引号字符,如path',但单引号在C#中的名称中似乎无效,因此在调试器窗口中输入path'只会显示常量中预期的换行符或类似的单词,因为它认为我正在开始一个字符文字。即

这主要是在尝试在Visual Studio调试器中调试F#代码时出现的,该调试器需要C#语法:

调试器无法识别F#表达式。要在F#调试期间在调试器窗口或对话框中输入表达式,必须将表达式转换为C#语法。当您将一个F#表达式转换为C#时,请务必记住C#使用==作为相等的比较运算符,而F#使用单个=

(来自)

问题是,我的变量和函数包含单引号字符,如
path'
,但单引号在C#中的名称中似乎无效,因此在调试器窗口中输入
path'
只会显示
常量中预期的换行符或类似的单词,因为它认为我正在开始一个字符文字。即使右键点击它并通过上下文菜单添加手表也会出现类似的错误


如何将包含单引号的F#名称转换为C#语法,以便我可以从调试器中检查它们或从C#code中引用它们?

我认为没有办法做到这一点-因此最好的选择可能是将变量
path'
重命名为其他有效的C#标识符,如
pathAux


尽管F#在命名方面更加灵活(并且允许像
path'
甚至
``什么!`
),但大多数时候使用C兼容的标识符名称可能是个好主意,因为它将使代码更容易被更广泛的读者阅读,比如C开发人员。

不幸的是,不是我的代码,而与塞德一起涉过这一切似乎是不礼貌的。但是谢谢你的意见。如果没有其他结果,我会在几天内接受你的回答。@BenMillwood说得通-即使你想更改代码,你也可能希望等到F#Power Tools的作者添加了对重命名重构的支持:-)(希望很快会出现!)许多F#内在函数都使用了符合框架设计准则的别名。我假设有一个属性可以添加到一个函数中,该函数控制IL中的外部名称。(我知道这不能直接解决问题,但可能会给你一些想法/选择)你可以使用反射。你是在把F代码翻译成C代码,还是真的从C代码调用F?@RubenBartelink:谢谢,我会调查的