簡體   English   中英

從C#代碼中訪問F#Map

[英]Accessing an F# Map from inside C# code

有沒有簡單的方法從C#代碼中訪問F#Map?

我的意思是,C#和F#列表是枚舉這樣我就可以通過該接口迭代從內C#代碼的F#名單,想在這個解釋

假設我在名為module.fs的F#模塊中聲明了這樣的Map:

let MyMap : Map<string,T>>

我想以這種方式從C#里面訪問地圖:

Map m = module.MyMap;

可以在不執行轉換的情況下執行此類操作嗎?

在F#外部訪問時, Map稱為FSharpMap 您可以使用var來避免笨拙的類型名稱(在您的示例中)。 但是,大多數F#特定類型實現了跨語言邊界良好的接口。 例如, Map實現了IDictionary<_,_> 在將在F#之外使用的API中,建議的解決方案是公開這些接口。

查看組件設計指南以獲取更多建議。

話雖如此,您可以毫無困難地使用C#中的FSharpMap 它看起來很奇怪,並不適合慣用的C#代碼。

暫無
暫無

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

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