2012-04-24 12 views
1

にイベント・変更項目を追加する(もちろん!)イベント...私のコードで私は特別にC#で初心者だとリスト

、私たちは、イベントから要素Tを取得し、それを追加したいですリスト(List)へ。

Tは "OnPropertyChanging"として署名されているため、コード内のどこでも変更されるため、Listのメンバーはすべて同じです。ですから、ListのTの過去の値をすべて保存するにはどうしたらいいですか?

ありがとうございます。

EDIT(より良いそれを説明しようとしている):

私は、リアルタイムの計算を実行するために使用するDDEを介してデータを受信するアプリケーションを持っています。これまでは問題ありません。以前のデータを使用しなければならないとき、リストに保存することができなかったので、私の問題が始まります。

私は私の最初のデータ読み出しでリストを作成して値を追加します。第二レディング後

ticks = new List<Tick> { tick }; // where tick comes via DDE 

、私はリストの最後の値を使用し、最新のそれを比較したい:

Tick prevTick = ticks.Last(); 
Tick currTick = tick;    // this tick is different from the former 

しかし、私はprevTickがcurrTickと等しいことを確認します。どうやら、 "PropertyChange"はプログラムのすべてのインスタンスでtickを変化させ、ticksの内容を修正してからprevTickに渡す機会があります。 Tickを仮定

+1

申し訳ありませんが、現在の状態を元に戻す前に保存しておきたいとしますか?あなたが何を求めているのか明確ではありません。 –

+0

私は明確でない場合は申し訳ありません。はい。私はそれが変更される前にTの過去の値を保存したい(元に戻す)。問題は、機能AがリストBを管理する機能Bに保存する前に機能Aを変更することです。リストを管理します。前回の介入の価値を保存したいと思います。 –

答えて

0

prevTickcurrTickが最も可能性が高い同じインスタンスであり、クラスであり、基礎となるコードは、Tickインスタンスは、ちょうどこのインスタンスで格納された値を更新して提供します。これはPropertyChangeは、すべてのダニのインスタンスを変更することを、あなたの考えを説明するだろう - それは私がTickに含まれる各データのプロパティで自分のクラスを作成し、このクラスの新しいインスタンスを移入なり、実際に一つだけのインスタンス

ですあなたの履歴リストそれぞれTickから番号が必要な場合は、履歴を保存するにはList<int>にするだけです。

+0

ありがとう、davisoa。それは今のように機能しています。 –

関連する問題