ふらっとC#,C♯,C#(初心者用) Part65
■ このスレッドは過去ログ倉庫に格納されています
0096デフォルトの名無しさん
2010/11/12(金) 05:47:36var d = CanExecuteChanged;は呼出じゃなくて単純な代入。
呼び出しならCanExecuteChanged(this, null);だけでいいんだけど、
CanExecuteChangedがnullじゃない時だけという条件を確実に満たすためにこういう書き方をしている。
順を追って説明する
まずコマンドをボタンにバインドするとボタンの中で
OkCommand.CanExecuteChanged += OnCanExecuteChanged; // >>95でいうところの+=Button_Click(obj,e)
みたいな感じでイベントを登録する。
そしてファイルが削除されてRaiseCanExecuteChangedが実行されると
d(this, null); によってCanExecuteChangedイベントに結び付けられたOnCanExecuteChangedが実行される。
OnCanExecuteChangedメソッドは
if(command.CanExecute()){
this.Enable = true;
} else ・・・
みたいな感じになっててめでたくCanExecuteが実行されるってわけ。
難しく感じるのはデリゲートやイベント、インターフェースなどの基礎知識が不足しているから
それさえ身につければ今回の話もすんなり理解できるし、インターフェース内で何か処理するなんていう発想には至らない。
基礎の習得はやる気さえあれば1週間でなんとかなるからまずはそっちを頑張ってください。
■ このスレッドは過去ログ倉庫に格納されています