1
Pouvons-nous implémenter des délégués et des événements dans Interface?Délégués et événements dans Interface?
Pouvons-nous implémenter des délégués et des événements dans Interface?Délégués et événements dans Interface?
Vous pouvez spécifier un événement dans une interface, mais vous ne pouvez pas déclarer un délégué (ou tout autre type) - du moins pas en C#. Par exemple:
// Valid
public delegate void BarHandler(object sender, EventArgs e);
public interface IFoo
{
event BarHandler Bar;
}
// Invalid
public interface IFoo
{
delegate void BarHandler(object sender, EventArgs e);
event BarHandler Bar;
}
Pourquoi un délégué ne peut pas être déclaré dans une interface? Quelle est la logique des concepteurs de langage? –
@SukhdevZala: Eh bien, vous ne pouvez pas déclarer * n'importe quel type * dans une interface en C#. La seule raison de le faire serait de qualifier le nom du type, fondamentalement ... cela ne ferait pas partie de ce qu'un type implémentant l'interface fournirait. –