Ora il titolo potrebbe sembrare che la domanda sia già stata fatta prima, ma lascia che ti spieghi la mia situazione e vedrai perché sto facendo questa domanda.
Consideriamo questa interfaccia:
public interface IListChangedListener {
public event EventHandler ItemAdded;
public event EventHandler ItemRemoved;
}
Se qualcuno vuole implementare questa interfaccia, dovrebbe controllare se ItemAdded
è nullo e solo se non è nullo, lo chiamerebbero. Bene, voglio semplificare il loro lavoro dando una funzione integrata che farà lo stesso. Basta chiamare quella funzione per verificare se l'evento corrispondente è nullo e, in caso contrario, farà scoppiare il suo evento corrispondente.
Il problema è che questa è un'interfaccia. Quindi non posso definire un metodo. Così ho pensato di andare con una classe astratta. Ma considerando la situazione, sarebbe meglio adattarlo a un'interfaccia anziché a una classe astratta.
Quindi mi limito ad abbandonare l'idea di dare una funzione integrata? O ne faccio una classe astratta? Quale si adatta meglio alla situazione? Sto passando un momento difficile per decidere quale usare. Qualche aiuto per favore?