【问题标题】:Using a custom F# operator in C#?在 C# 中使用自定义 F# 运算符?
【发布时间】:2014-05-21 10:04:09
【问题描述】:

我偶然发现可以在 F# 中定义自定义运算符这一事实。另外,我相信在 C# 中重用 F# 代码是可能的。

是否可以在 F# 中创建自定义运算符,在 C# 中引用项目,然后在 C# 中重用该运算符?例如,假设我要在 F# 中将 .? 运算符定义为某种东西,那么我可以在我的 C# 项目中以某种方式重用它吗?

【问题讨论】:

  • 正如答案所指出的,你可以,但你只能在 C# 中将它用作方法,而不是运算符。
  • 耻辱,但它必须这样做。谢谢;)

标签: c# .net f# operators clr


【解决方案1】:

自定义运算符可以在 C# 中很好地使用。名称是自动生成的,格式为 op_<symbol...>(请参阅 MSDN 上的 Overloaded Operator Names)。

例如

let (|?) a b = ...

将以op_BarQmark 的形式提供。

但是,正如 Mau 在他的评论中指出的那样,您只能在 C# 中将它用作方法,而不是运算符

【讨论】:

  • @Benjol:关于您的编辑,我认为根据它们在 C# 中没有作为运算符出现的名称很明显(Mau 在他的评论中说:“作为答案指出”)。但我想把它明确表达出来并没有什么坏处。
  • 感谢您的回复:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-25
  • 1970-01-01
  • 1970-01-01
  • 2013-11-07
  • 1970-01-01
  • 2011-04-30
  • 2010-10-25
相关资源
最近更新 更多