Vorrei eseguire alcune elaborazioni prima che un elemento venga aggiunto a BindingList. Vedo che c'è un evento ListChanged ma questo viene attivato dopo l'aggiunta dell'elemento. L'evento AddingNew viene attivato solo quando viene chiamato il metodo AddNew (non il metodo Add). Qualcuno ha mai fatto qualcosa del genere?Come posso attivare un evento prima che l'elemento venga aggiunto alla raccolta in C#?
UPDATE:
ho creato le seguenti classi e quando il metodo Add viene chiamato sul IList, il mio nuovo metodo Add viene attivato. Quindi, ho il problema del casting che ho letto in altri posti? Se ho rimosso l'interfaccia ISpecialCollection dalla raccolta, il mio metodo Add non viene chiamato. Qualcuno può spiegare perché sta agendo in modo diverso? Ho un problema di trasmissione se utilizzo l'interfaccia 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.dice da qualche parte che il valore è pesantemente memorizzato nella cache e che possono essere necessarie un paio d'ore per essere aggiornati. –