1

相互運用 DLL を生成しました。正常に動作します。奇妙なことに、C# で表示されるイベントは F# では表示されません。幸いなことに、ハンドラーを追加/削除するための追加/削除関数が DLL に存在します。したがって、回避策があります。

私が理解していないのは、実際のイベント パラメータはインターフェイスの一部であるため、実際のイベント パラメータ自体を表示できない理由です。F# で使用する相互運用機能を生成するときに、何か特別なことはありますか? F# で表示すると、イベントのアクセス修飾子がプライベートまたは保護されているように見えますが、C# では表示されません。

4

1 に答える 1

1

クライアント プロファイルを使用している可能性があります。プロジェクト プロパティで完全な .Net 4.0 プロファイルに切り替えて、それを試してください。VS2010 では、これがデフォルト設定であり、多くの人を悩ませています。

もう 1 つの可能性は、それが非標準のイベント実装であるということです。昨日 MonoTouch で遭遇しました。

それらに失敗すると、リフレクターなどでdllを見て、生成されたコードで何が何であるかを確認します。

于 2013-02-11T11:12:06.973 に答える