我为各种类定义了一系列扩展方法 在C#库中。我目前正在编写一些F#代码而不是重写代码 该代码我只想在我的F#代码中使用我现有的扩展方法。
我添加了对库的引用并使用了 用于导入命名空间的open语句, 但扩展方法没有出现在F#
中答案 0 :(得分:18)
在当前版本的F#中,您可以通过添加
来简单地使用扩展方法open TheNamespaceOfExtensionMethod
到您的源文件(就像在C#中使用using
指令一样)并简单地调用扩展方法,就像它是一个普通的实例方法一样。
顺便说一下,你可以像普通的静态方法一样直接调用它们,如果你愿意的话,可以将对象引用作为第一个参数传递而不带任何指令。扩展方法只是一个用ExtensionAttribute
装饰的静态方法。
我不认为F#支持扩展方法。您可以像普通静态方法一样直接调用它们,并将对象引用作为第一个参数传递。
答案 1 :(得分:9)