2016-07-24 10 views
1

Ich muss etwas wirklich offensichtlich hier fehlen. Dieser Code könnte nicht viel einfacher sein und ich kann nicht herausfinden, warum ich diesen Fehler bekomme.'Series2' enthält keine Definition für 'GetEnumerator'

using System.Collections; 
using System.Collections.Generic; 

namespace Kent 
{ 
    public class Series2<T> : IEnumerable<T> 
    { 
     static void Test() 
     { 
      Series2<char> s2 = new Series2<char>(); 
      s2.GetEnumerator();      //*** compile error here 
     } 

     IEnumerator IEnumerable.GetEnumerator() 
     { 
      return null; 
     } 

     IEnumerator<T> IEnumerable<T>.GetEnumerator() 
     { 
      return null; 
     } 
    } 
} 

An der Linie angezeigt, erhalte ich diese Fehlermeldung:

'Series2 < char>' enthält keine Definition für 'GetEnumerator()' ...

Was bin ich fehlt?

Antwort

2

Sie explicitly implemented the interfaces und kann daher nur sie über eine Instanz der Schnittstelle zugreifen (oder einer Besetzung):

 IEnumerable<char> s2 = new Series2<char>(); 
     s2.GetEnumerator(); 

oder

 IEnumerable s2 = new Series2<char>(); 
     s2.GetEnumerator(); 

oder

 Series2<char> s2 = new Series2<char>(); 
     ((IEnumerable<char>)s2).GetEnumerator(); 

werden alle Arbeiten .

Verwandte Themen