重複の可能性:
監視可能なスタックとキュー
アプリケーションに がありstack<String>
ます。Stack.Push(Object)
とを使用できますStack.Pop()
。しかし、スタックに新しいオブジェクトが追加されるたびに知りたいです。それが可能かどうかさえわかりません。助言がありますか?
重複の可能性:
監視可能なスタックとキュー
アプリケーションに がありstack<String>
ます。Stack.Push(Object)
とを使用できますStack.Pop()
。しかし、スタックに新しいオブジェクトが追加されるたびに知りたいです。それが可能かどうかさえわかりません。助言がありますか?
Stack から継承するクラスを作成します。
class StackHolder: Stack
{
public delegate void ItemAddedDelegate(object item);
public event ItemAddedDelegate ItemAdded;
public override void Push(object obj)
{
base.Push(obj);
if (ItemAdded != null)
{
ItemAdded(obj);
}
}
}
そして、これを使用する方法は次のとおりです。
StackHolder sh = new StackHolder();
sh.ItemAdded += new StackHolder.ItemAddedDelegate(sh_ItemAdded);
イベントのハンドラーは次のとおりです。
void sh_ItemAdded(object item)
{
//TODO: handle event
}