私の最初の投稿、これはすでに答えられている場合にお詫び - 私は検索し、検索したが、カスタムEventArgsを使用して既存のSystemEventsで特定の事項を発見していない。カスタムEventArgsをSystemEventsで使用することはできますか?
SystemEvents.PowerModeChangedタイプのイベントを利用しようとしていますが、標準PowerModeChangedEventArgsの代わりに私自身のカスタムEventArgsを使用したいと考えています。私のアプローチは、PowerModeChangedEventArgsを継承するCustomPowerModeChangedEventArgsというクラスを作成して代わりに使用することでしたが、PowerModeChangedEventHandlerにこれらの新しいCustomEvent引数を使用するように指示する方法はわかりません。次のように私のコードは次のとおりです。
問題はPowerModeEventChangedHandlerがCustomArgsでPowerModeChanged方法を受け入れないとです。それは私が
public event EventHandler<CustomPowerModeChangedEventArgs> PowerModeCHanged;
...のような引数を定義することができ、汎用のEventHandlerされていた...しかし、私は非汎用イベントハンドラと似て達成するための方法を測深することはできません。ラムダ式を使って新しいカスタム引数をハンドラに送ることは可能かもしれないという疑いがありますが、これについては本当にわかりません。新しいEventChangedHandlerを定義する必要がありますか?アドバイスをいただければ幸いです。
これは理にかなっています。Jon Skeetに感謝します。カスタムArgを使って何らかの種類のシステムプロパティを変更してイベントをトリガするには、新しいクラスを作成するか、あらかじめ定義されたPowerModeChangedイベントと一緒に1つのカスタムイベントを持つ2つのイベントを使用する必要がありますか? – Chi
@Chi:はい - 基本的にはシステムの観点から考えてください。イベントを発生させ、独自のイベント引数を構築する方法を知っています。あなたの*コードだけがあなたの*イベント引数のインスタンスを作成します。 –
Jon Skeetさん、ありがとうございました。完璧に説明されて、私は今、私はその問題についていくらか明確に感じている。あなたの知識を伝えるために時間をとっていただき、ありがとうございますstackoverflow.comの存在のための天に感謝します。 – Chi