繁体   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