2011-12-06 6 views
0

私はイベントハンドラを作成しました。これはテストのためにすべての更新と呼ばれます。 私の問題は、私のクラスのリストのCountを見つけると、Event Handler内では0ですが、Updateメソッドでは3です。 LoadContentメソッドのどこでもリストを変更していないのはなぜですか?イベントハンドラのリストの数はイベントハンドラでは0ですが、更新では3です

コード:

if (MaxTiles.X * row + col < TileList.Count) 
{ 
    selectedTileIndex = (int)(row * MaxTiles.X + col); 
    System.Diagnostics.Debug.WriteLine(selectedTileIndex.ToString()); 
} 
System.Diagnostics.Debug.WriteLine(TileList.Count); 

編集:私は、オブジェクト自体からそれを呼び出す方法をテストしてきた、そしてそれは私に3カウントを与えます!私はC#イベントについて知らない何かがありますか?

EDIT:役立つ場合は、別のクラスでイベントが発生しています。

編集:私は(非常に臭い)回避策を見つけましたが、なぜこれが起こっているのか不思議です。

+0

もう少しコードを表示する必要があります。あなたが投稿したものとは異なるものを教えてください。 –

答えて

0

このような情報を少し増やすと便利ですが、暗闇の中で撮影します。

イベントハンドラ内で最初に表示したのは、おそらくインスタンス化されたばかりなのでしょうか?そうでない場合は、LoadContentイベントがまったく呼び出されているので、ブレークポイントをスローしてそのプロセスをステップ実行すると便利です。

+0

実際にそれは更新メソッドで私に3のカウントを与えるので、アイテムを持っている、イベントハンドラはちょうどそれらを見ることができない – annonymously

+0

また、私は質問で、すべての更新でハンドラが呼び出されると言った – annonymously

+0

ちょうどあなたのWriteLineステートメントでは、「Current Tile:0」や「Tile Count:0」などの説明を追加すると便利です。これがあなたがこれらを追跡するために使用しているものであれば。 –

関連する問題