2010-12-09 2 views
6

C#을 사용하는 다른 팀에서 사용하기 위해 F #에서 라이브러리를 개발 중입니다. 이 다른 팀이이 라이브러리가 다른 C# 라이브러리처럼 작동 할 것으로 기대한다는 것을 알기 위해 나는 무엇을주의해야합니까?F # 라이브러리가 C#처럼 작동 할 것으로 예상 됨

예를 들어 옵션 유형을 사용하면 C#에 노출 될 때이를 null로 변환해야합니다. 가능한 다른 전환 영역은 계산식, FastFunc, 이벤트 및 이름 지정 문제 일 수 있습니다.

+0

일부 및 없음은 Nullable 으로 다소 변환됩니다. – GregC

답변

5

F # 유형, 특히 목록,지도 등을 노출시키지 마십시오 (유형이 Microsoft.FSharp.Collections.FSharpMap 일 경우 반드시 C# 팀은 너트가됩니다). F # 컬렉션 인 getter 또는 return 형식을 노출 할 때는 List.toSeq을 호출하면 IEnumerable으로 끝날 것입니다. 이는 C#에서 작업하기가 훨씬 수월합니다.

그 외에도 괜찮습니다. 필자는 이전에 오직 하나의 프로젝트에만 F #과 C#을 사용 했었습니다.이 두 가지를 상호 운용하는 유일한 문제/성가심이었습니다.

관련 문제