例えば下記のような処理があったとして
private Character character; private void Attack() { if (character == null) { return; } character.Attack(); } private void Defense() { if (character == null) { return; } character.Defense(); }
if文の判定が重複してあまりカッコよくないですが
コールバック関数を使うと下記のように記述できます
private Character character; private void Attack() { Execute(() => character.Attack()); } private void Defense() { Execute(() => character.Defense()); } private void Execute(Action act) { if (character == null) { return; } act(); }
キレイなやり方なのかどうかはわかりませんが、個人的には好きな書き方です