私はインターフェイスを実装しているクラスがそのメソッドをすべて実装しなければならないことを知っています。しかし、インターフェイス内のイベントはどういう意味ですか?インターフェイス内のイベントはどういう意味ですか?
答えて
これは、クライアントがイベントをサブスクライブできるように、タイプがイベントを実装する必要があることを意味します。
プロパティはget/setと同様に、イベントのペアをメソッド(追加/削除)とみなします。インターフェイスにプロパティを持つことができるのと同じように、イベントを作成することもできます。実装では、適切な追加/削除メソッドとメタデータをイベントに関連付ける必要があります。
public event EventHandler EventFromInterface;
または明示的な追加/削除メソッドを持つ:C#では、このフィールドのようなイベントを使用して行うことができます
public event EventHandler EventFromInterface
{
add { ... }
remove { ... }
}
をそれはそのインターフェイスを実装するものは、そのイベントを発生させなければならないことを意味します。インターフェイス内のメソッドまたはプロパティとほとんど同じです。
私は、ここでは "レイズ"は不適切な言葉だと思う。イベントを強制的にどこにでも持ち出すことはできませんが、クラスは呼び出し元がサブスクリプション/サブスクリプションに使用するための追加/削除の実装を提供する必要があります。 –
私は気難しいですが、実装者がイベントを定義しなければならないことを意味します(そしておそらくそれを発生させることはありません)。 –
@Jon Skeetは、実装者がイベントを発生させない場合、イベントは役に立たず、またはパブリックアクセスがイベントを発生させる可能性があります。 –
- 1. linuxの意味はどういう意味ですか?
- 2. %%はどういう意味ですか?
- 3. インターフェイスもタイプであるとはどういう意味ですか?
- 4. どういう意味ですか? OR?
- 5. "javascript://"とはどういう意味ですか?そのコードには意味:
- 6. どういう意味ですか?:意味ですか? Apacheの設定ファイルで
- 7. イベント名としてclick.modal.data-apiとはどういう意味ですか?
- 8. ディレクトリ名とは何ですか? 'と '..'という意味で、faDirectoryはどういう意味ですか?
- 9. データクラスという用語はどういう意味ですか?
- 10. パンジャブを使うのはどういう意味ですか
- 11. このインポートはScalaではどういう意味ですか?
- 12. gitkではエッジの色はどういう意味ですか?
- 13. この行はPythonではどういう意味ですか?
- 14. このコードはタイプスクリプトではどういう意味ですか?
- 15. ジュリアで「ファイナライズ」するのはどういう意味ですか?
- 16. 引数のないpaper.path()はどういう意味ですか?
- 17. VSコードの赤い点はどういう意味ですか
- 18. BackboneJs:elとtagNameの違いはどういう意味ですか?
- 19. ノード文書内のこの `... $ {...} ...`コードはどういう意味ですか?
- 20. ラベル内の1つのスタイル要素はどういう意味ですか?
- 21. 終了コンテキストがWaitHandle.WaitOneの意味をどういう意味ですか?
- 22. それはどういう意味ですか - SSLでのログイン
- 23. '""'はC#の '"" + ex "でどういう意味ですか?
- 24. このラインはVerilogでどういう意味ですか?
- 25. xcodeデバッガウィンドウでこのエラーはどういう意味ですか?
- 26. Androidアプリ内セキュリティの推奨 - これはどういう意味ですか?
- 27. C++ではテンプレート<>はどういう意味ですか?
- 28. フラグはテンソルフローではどういう意味ですか?
- 29. defmethodでは ":before:after:around"とはどういう意味ですか?
- 30. バイトコードでは、getstaticはどういう意味ですか?
イベントを発生させることも必要ですが、イベントを定義せずにヘルプを設計するのは賢明です。 –
無関係な観察 - 1時間以内にイベント(およびメソッドのペア)に関する少なくとも3-4の質問があったのは面白い! – Mehrdad
@ランバート:私は彼らが無関係から遠いと思う:)元の質問が基本的にこれらのものを生み出したと推測している... –