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