私は代理人としてSystem.Action
を使用します。呼び出されたときc#デリゲート:ポテンシャル例外を持つイベント(デリゲート)ですべてのメソッドを呼び出す方法は?
public event Action myEvent;
myEvent+=MyMethod1;
myEvent+=MyMethod2;
そして、どこか別の場所
myEvent.Invoke();
今問題がある、MyMethod1()
意志somethimesは例外があります。しかし、私はまだこの呼び出し中にMyMethod2()
を呼びたいと思っています。
どうすればよいですか?
ポテンシャル例外について: これは実際にはイベントに登録されたメソッドで、このメソッドにはゲームオブジェクトの操作が含まれているUnityの問題です。関連するMonoBehaviourが削除されても、このメソッドは存在しますが、ゲームオブジェクトのやりとりは例外をスローします。
イベントハンドラ内で例外を捕捉できませんか? –
私は可能ですが、デリゲートやイベントコードでそれをやりたいのですが、これはUnityでより明確になっているからです。 Unityタグを追加したくないのは、実際には純粋なC#の質問だからです。 – cdytoby
私はあなたがなぜそれが「より明瞭」だと思うのか分かりませんが、間違っています。私は下のLuaanの答えに行くだろう。 –