どこが消えたのですか?F#IEvent.create
let triggerFindNext,findNextEvent = IEvent.create<EventArgs>()
フィールド、コンストラクタまたはメンバ「を作成は、」多分私はそれのためにいくつかのフレームワークを追加する必要があります
が定義されていませんか?
どこが消えたのですか?F#IEvent.create
let triggerFindNext,findNextEvent = IEvent.create<EventArgs>()
フィールド、コンストラクタまたはメンバ「を作成は、」多分私はそれのためにいくつかのフレームワークを追加する必要があります
が定義されていませんか?
IEvent.create
機能は推奨されていません。イベントを作成する新しい方法は、Event
タイプのインスタンスを作成することです。これはIEvent<_>
値を使用してイベントを表し、(あなたがプロパティとして公開場合、.NET互換のイベントは生成されません)
let evt = new Event<EventArgs>()
// Trigger event (instead of first element of the tuple)
evt.Trigger()
// Returns IEvent<EventArgs> value (instead of second element of the tuple)
evt.Publish
、それはF#のライブラリーから、一般的なHandler<_>
デリゲートを使用しています。最も単純なケースでは、あなたはこれを書くことができます。
(あなたがC#2から使用可能な.NET互換のイベントを生成したい場合、あなたはCLIEvent
属性を追加する必要があり、the answer already mentioned by othersで説明したように、一般的なパラメータとして委任取りEvent
のバリアントを使用することができます)
はEDIT:私はここでより完全なF#スニペット(より良いフォーマットで)を投稿しました:http://fssnip.net/1d
[F#で.NET互換のイベントを作成する方法](http://stackoverflow.com/questions/904235/how-to -create-net-compatible-events-in-f) – adrianbanks