2016-11-18 15 views
-1

Pop()関数がStack構造体で呼び出されたときにチェックする方法を探しています。現在、拡張セッターでプロパティを使用しています。​​は、私は参照自体を変更していない限り、コレクションが実際に変更された時期を判断できません。この上の任意のヒント?繰り返しますが、私は、Pushが呼び出されたときに本当に知りたくない関数や、コレクションを変更できるものだけを気にします。C#スタックがスタック上で呼び出されたときに検出する

+1

[観察可能なスタックとキュー]の可能な複製(http://stackoverflow.com/questions/3127136/observable-stack-and-queue) –

答えて

0

イベントを作成して特定の操作(この場合、その音によってコレクションが変更されたとき)をトリガーできるように、独自のコレクションを作成する必要があります(ほとんどの場合、Stack参照をラップするだけです)は発表された。あなたの論理以外にも、各公的メンバーのメンバーをStackにして、それを専用のStackインスタンスに転送するだけでよいのです。

+0

必要と答えた1〜2秒前に、小さくても重要な詳細を追加しました私はすでに拡張スタックコレクションを使っていますが、このイベントをどのように追加できるのか分かりません。 – mashinkata

+0

あなた自身の 'Stack'クラスが既にある場合、イベントを定義し、' Pop'メソッドでイベントを呼び出します。 – Servy

+0

素早く回答いただき、ありがとうございました。私は単純に 'IEnumerable 'を継承するクラスを持っていますので、クラスを列挙することができます。クラス自体に 'private readonly Stack _stack'コレクションがあり、そのクラスにはすべて例のような' Stack '関数がありますこのように 'public T Peek(){return _stack.Peek(); } '+ Pop()でトリガされるイベントはありますか? – mashinkata