我正在用F#开发一个库,供另一个使用C#的团队使用.知道其他团队希望这个库的行为与其他任何C#库一样,我应该注意什么?
例如,如果我使用Options类型,当我向C#公开时,我需要将它们转换为null.其他一些可能的过渡区域可能是计算表达式,FastFunc,事件和命名问题.
确保你不暴露任何F#类型,特别是列表,地图等(暴露某种类型Microsoft.FSharp.Collections.FSharpMap肯定会让C#团队疯狂).当你暴露一个F#集合的getter或return类型时,调用List.toSeq你最终会得到一个IEnumerable,这在C#中更好用.
除此之外,你应该没问题.我之前只在1个项目中使用过F#和C#,这是我唯一真正的问题/烦恼,两者互操作.
| 归档时间: |
|
| 查看次数: |
294 次 |
| 最近记录: |