我想在將項目添加到BindingList之前進行一些處理。我看到有一個ListChanged事件,但是在添加項目後觸發。 AddingNew事件僅在調用AddNew方法(不是Add方法)時觸發。有沒有人做過這樣的事情?如何在C#中將項目添加到集合之前觸發事件?
UPDATE:
我創建了以下類和當添加方法被調用IList中,我的新Add方法被觸發。那麼,我是否有在其他地方讀過的演員問題?如果我從集合中刪除了ISpecialCollection接口,我的Add方法不會被調用。有人可以解釋爲什麼它的行爲不同嗎?如果我使用ISpecialCollection接口,是否有鑄造問題?
public interface ISpecialCollection<T> : IList<T>
{
}
public class SpecialCollection<T> : BindingList<T>, ISpecialCollection<T>
{
public new void Add (T item)
{
base.Add(item);
}
}
class Program
{
static void Main(string[] args)
{
IList<ItemType> list = new SpecialCollection<ItemType>();
list.Add(new ItemType());
}
}
Jeff A.說在某些地方,價值被大量緩存,並且可能需要幾個小時才能更新。 – 2009-11-04 16:39:24