[英]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.