簡體   English   中英

使用F#代碼中的C#中定義的擴展方法

[英]Using extension methods defined in C# from F# code

我為C#庫中的各種類定義了一系列擴展方法。 我正在編寫一些F#代碼,而不是重寫代碼,我只想在我的F#代碼中使用現有的擴展方法。

我添加了對庫的引用並使用open語句導入命名空間,但擴展方法沒有出現在F#中

更新:

在當前版本的F#中,您可以通過添加來簡單地使用擴展方法

open TheNamespaceOfExtensionMethod

到您的源文件(就像您在C#中使用using指令一樣)並簡單地調用擴展方法,就像它是一個普通的實例方法一樣。

順便說一句,您可以像普通的靜態方法一樣直接調用它們,並將對象引用作為第一個參數傳遞,如果需要,不帶任何指令。 擴展方法只是一個在引擎蓋下使用ExtensionAttribute修飾的靜態方法。

原始答案(在F#2010測試版之前;不再是真實的,正如Dykam指出的那樣):

我不認為F#支持擴展方法。 您可以像普通靜態方法一樣直接調用它們,並將對象引用作為第一個參數傳遞。

下一版本的F#將支持能夠“導入”C#/ VB擴展方法。

也可以看看

C#中的F#擴展方法

有關該主題的更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM