2011-12-15 2 views
1

C#コードの中からF#マップにアクセスする簡単な方法はありますか?C#コードの内側からF#マップへのアクセス

C#コードとF#リストの両方が列挙可能なので、このpostで説明されているように、C#コード内からF#リストをそのインターフェイスを介して繰り返し処理できます。

私はmodule.fsと呼ばれるF#のモジュール内部のようなマップを宣言したとします

let MyMap : Map<string,T>> 

私はこの方法のC#の内側からマップにアクセスしたいと思います:

Map m = module.MyMap; 

は可能ですコンバージョンを実行せずにこれを行うには?

答えて

4

Mapは、F#の外でアクセスするとFSharpMapと呼ばれます。この例では、厄介な型名を避けるためにvarを使用することができます。しかし、ほとんどのF#固有型は、言語境界を越えてうまく動作するインタフェースを実装します。たとえば、Mapは​​を実装します。 F#の外で使用されるAPIでは、代わりにこれらのインターフェイスを公開することをお勧めします。

詳細については、Component Design Guidelinesをご覧ください。

と言われているので、C#のFSharpMapを問題なく使用できます。それは奇妙に見え、慣用的なC#コードには向いていません。

関連する問題