前提・実現したいこと
C#でイベントについて学習しています。
独自のEventArgsを使用する際に、色々なサンプルでEventArgsを継承すると書かれているのですが
継承が必要な理由がよくわかりません。
以下、TextBoxでXキーが押された際に実行されるイベントを作ってみました。
この際、XKeyDownArgsでEventArgsを継承してもしなくても挙動は変わらないように見えます。
EventArgsを継承することの利点や、しなければならない理由が何かあるのでしょうか?
よろしくおねがいします。
該当のソースコード
C#
1public partial class Form1 : Form 2{ 3 private event EventHandler<XKeyDownArgs> XKeyDown; 4 5 public Form1() 6 { 7 InitializeComponent(); 8 } 9 10 private void Form1_Load(object sender, EventArgs e) 11 { 12 XKeyDown += XKeyDownMessage; 13 } 14 15 private void TextBox1_KeyDown(object sender, KeyEventArgs e) 16 { 17 if (e.KeyCode == Keys.X) 18 { 19 XKeyDown?.Invoke(sender, new XKeyDownArgs()); 20 } 21 } 22 23 private void XKeyDownMessage(object sender, XKeyDownArgs e) 24 { 25 MessageBox.Show("Xキーが押されました"); 26 } 27} 28 29// EventArgsを継承してもしなくても問題なく動作する 30public class XKeyDownArgs : EventArgs 31{ 32}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/07/06 14:24