我的申请表中有stack<String>
。我可以使用Stack.Push(Object)
和Stack.Pop()
。但是我想知道在堆栈中添加新对象的时间。即使有可能,我也不知道。有什么建议吗?
答案 0 :(得分:4)
创建继承自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
}