【发布时间】:2009-04-22 13:40:07
【问题描述】:
我为各种类定义了一系列扩展方法 在 C# 库中。我目前正在编写一些 F# 代码,而不是重写 我只想在我的 F# 代码中使用我现有的扩展方法。
我添加了对该库的引用并使用了 open 语句导入命名空间, 但扩展方法不会出现在 F# 中
【问题讨论】:
标签: c# f# extension-methods
我为各种类定义了一系列扩展方法 在 C# 库中。我目前正在编写一些 F# 代码,而不是重写 我只想在我的 F# 代码中使用我现有的扩展方法。
我添加了对该库的引用并使用了 open 语句导入命名空间, 但扩展方法不会出现在 F# 中
【问题讨论】:
标签: c# f# extension-methods
在当前版本的 F# 中,您可以简单地通过添加来使用扩展方法
open TheNamespaceOfExtensionMethod
到您的源文件(就像您在 C# 中使用 using 指令所做的那样)并简单地调用扩展方法,就像它是一个普通的实例方法一样。
顺便说一句,你可以像普通的静态方法一样直接调用它们,如果你愿意的话,可以不使用任何指令将对象引用作为第一个参数传递。扩展方法只是一个在底层用ExtensionAttribute 装饰的静态方法。
我认为 F# 不支持扩展方法。您始终可以像普通静态方法一样直接调用它们,并将对象引用作为第一个参数传递。
【讨论】:
【讨论】: