如何处理添加到列表中的事件? [英] How to handle add to list event?
本文介绍了如何处理添加到列表中的事件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这样一个列表:
List<Controls> list = new List<Controls>
如何处理增加新的位置,这个名单?
How to handle adding new position to this list?
当我做的:
myObject.myList.Add(new Control());
我愿做这样的事情在我的对象:
I would like to do something like this in my object:
myList.AddingEvent += HandleAddingEvent
然后在我的 HandleAddingEvent
委托处理位置添加到这个列表。我应该如何手柄增加新位置事件?我怎样才能让这个事件是否可用?
And then in my HandleAddingEvent
delegate handling adding position to this list. How should I handle adding new position event? How can I make this event available?
推荐答案
您可以从列表中继承,并添加自己的处理程序,像
You could inherit from List and add your own handler, something like
using System;
using System.Collections.Generic;
namespace test {
class Program {
class MyList<T> : List<T> {
public event EventHandler OnAdd;
public void Add(T item) {
if (null != OnAdd) {
OnAdd(this, null);
}
base.Add(item);
}
}
static void Main(string[] args) {
MyList<int> l = new MyList<int>();
l.OnAdd += new EventHandler(l_OnAdd);
l.Add(1);
}
static void l_OnAdd(object sender, EventArgs e) {
Console.WriteLine("Element added...");
}
}
}
要知道,你也应该重新实现的AddRange
,如果你想知道已添加了什么等等,这只是一个基本的声明自己的事件类型主意...
Be aware that you should also re-implement AddRange
, declare your own event type if you want to know what has been added and so on, this is just a basic idea...
这篇关于如何处理添加到列表中的事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文