他のクラスからサブスクライブしたいクラス内に静的イベントを作成しました。
public class PlaylistModel
{
public static event EventHandler PlaylistLoadError;
public static void LoadPlaylist()
{
try
{
// ...do some stuff...
}
catch(SomeException ex)
{
EventHandler handler = PlaylistLoadError;
if(handler != null)
{
PlaylistLoadError(null, null);
}
}
}
}
そして、私の他のクラスでは....
public partial class MainPage : PhoneApplicationPage
{
public MainPage()
{
PlaylistModel.PlaylistLoadError += PlaylistError;
}
public void PlaylistError(object sender, EventArgs args)
{
//... show the error ...
}
}
サブスクライブされているにもかかわらず、キャッチの内部では、ハンドラーは null です。MainPage
キャッチが実行された後、内部からプログラムをデバッグしましたが、 PlaylistLoadError
null ではないことが示されています。の中で null になる理由はありPlaylistModel
ますか? 静的であることと関係があると感じています。