2010-12-09 13 views
6

Estoy desarrollando una biblioteca en F # para el consumo de otro equipo usando C#. ¿Qué cosas debo cuidar sabiendo que este otro equipo espera que esta biblioteca se comporte como cualquier otra biblioteca de C#?Biblioteca F # se espera que se comporte como C# cuando se consume

Por ejemplo, si uso tipos de Opciones, tendré que convertirlos a nulos cuando expongo a C#. Algunas otras posibles áreas de transición podrían ser expresiones de cálculo, FastFunc, eventos y problemas de nomenclatura.

+0

Algunos y Ninguno se traducen en Nullable , más o menos. – GregC

Respuesta

5

Asegúrese de no exponer ninguno de los tipos F #, especialmente listas, mapas, etc. (exponer algo del tipo Microsoft.FSharp.Collections.FSharpMap seguramente hará que el equipo C# se vuelva loco). Cuando expone un getter o un tipo de devolución que es una colección F #, llame al List.toSeq y obtendrá un IEnumerable, que es mucho mejor para trabajar en C#.

Aparte de eso, deberías estar bien. He usado F # y C# en solo 1 proyecto anteriormente, y ese fue mi único problema/molestia real que interoperativamente los dos.

Cuestiones relacionadas