J'ai ce code C#:mise en œuvre abstraite d'interface explicite en C#
abstract class MyList : IEnumerable<T>
{
public abstract IEnumerator<T> GetEnumerator();
//abstract IEnumerator IEnumerable.GetEnumerator();
}
Comme il est, je reçois:
'Type' ne met pas en oeuvre un membre d'interface « System.Collections.IEnumerable.GetEnumerator() '.
supprimer le commentaire et je reçois:
Le modificateur 'abstrait' est pas valable pour cet article
Comment puis-je faire une implémentation explicite abstraite
Cette est une lacune du compilateur C# IMHO. Il existe de nombreux cas d'utilisation où vous devrez ajouter une implémentation fictive "juste parce que". De plus, si vous choisissez d'avoir un membre non abstrait, le compilateur autorisera les sous-classes sans implémentation, exposant le risque d'appel de l'implémentation fictive. –