ho questo codice C#:astratto implementazione dell'interfaccia esplicita in C#
abstract class MyList : IEnumerable<T>
{
public abstract IEnumerator<T> GetEnumerator();
//abstract IEnumerator IEnumerable.GetEnumerator();
}
Come è, ottengo:
'Tipo' non implementa il membro di interfaccia 'System.Collections.IEnumerable.GetEnumerator()'.
rimuovere il commento e ottengo:
Il modificatore 'astratta' non è valido per questo articolo
Come faccio a fare un'implementazione astratta esplicita
Questo è un difetto il compilatore C# IMHO. Ci sono molti casi d'uso in cui dovrai aggiungere un'implementazione fittizia "solo perché". Inoltre, se si sceglie di rendere il membro non astratto, il compilatore consentirà le sottoclassi senza implementazione, esponendo il rischio di chiamare l'implementazione fittizia. –