C# 从C代码内部访问F映射

C# 从C代码内部访问F映射,c#,f#,map,C#,F#,Map,有没有简单的方法可以从C代码内部访问F映射 我的意思是,C#和F#列表都是可枚举的,因此我可以从C#代码内部通过该接口迭代F#列表,如本文所述 假设我在名为module.fs的F#模块中声明了这样一个映射: let MyMap : Map<string,T>> 在不执行转换的情况下是否可以执行类似的操作?Map在F#之外访问时称为FSharpMap。您可以使用var来避免使用笨拙的类型名称(在您的示例中)。然而,大多数F#特定类型实现了跨语言边界运行良好的接口。例如,Map实

有没有简单的方法可以从C代码内部访问F映射

我的意思是,C#和F#列表都是可枚举的,因此我可以从C#代码内部通过该接口迭代F#列表,如本文所述

假设我在名为module.fs的F#模块中声明了这样一个映射:

let MyMap : Map<string,T>>

在不执行转换的情况下是否可以执行类似的操作?

Map
在F#之外访问时称为
FSharpMap
。您可以使用
var
来避免使用笨拙的类型名称(在您的示例中)。然而,大多数F#特定类型实现了跨语言边界运行良好的接口。例如,
Map
实现了
IDictionary
。在将在F#之外使用的API中,建议的解决方案是公开这些接口

查看更多建议


话虽如此,您可以使用C#中的
FSharpMap
。它看起来很奇怪,不适合惯用C代码。

Map
在F#之外访问时称为
FSharpMap
。您可以使用
var
来避免使用笨拙的类型名称(在您的示例中)。然而,大多数F#特定类型实现了跨语言边界运行良好的接口。例如,
Map
实现了
IDictionary
。在将在F#之外使用的API中,建议的解决方案是公开这些接口

查看更多建议

话虽如此,您可以使用C#中的
FSharpMap
。它看起来很奇怪,不适合使用惯用的C代码

Map m = module.MyMap;