Bu hata iletisini alıyorum ve nedenini anlayamıyorum!IEnumerable.GetEnumerator() ile ilgili bir hata iletisi
Error 1 'Exo5Chap12.ShortCollection<T>' does not implement interface member
'System.Collections.IEnumerable.GetEnumerator()'.
'Exo5Chap12.ShortCollection<T>.GetEnumerator()' cannot implement
'System.Collections.IEnumerable.GetEnumerator()' because it does not have the matching
return type of 'System.Collections.IEnumerator'.
E:\MyFolders\Dev\c#\Chapter12\Exo5Chap12\Exo5Chap12\exo5.cs 9 18 Exo5Chap12
İşte GetEnumerator() uygulamasının bulunduğu kod. Sorun nedir?
public class ShortCollection<T> : IList<T>
{
protected Collection<T> innerCollection;
protected int maxSize = 10;
public IEnumerator<T> GetEnumerator()
{
return (innerCollection as IEnumerator<T>).GetEnumerator();
}
}
Sadece IEnumerable ve IEnumerable uygulamalarında innerCollection nesnesini kullanmayın. Aşağıdaki kod yazılan cevabın tam koduna bakın ... –
code4life
Hata mesajının size * tam olarak * burada neyin yanlış gittiğini söylüyorum: IEnumerable uygulanmadı, uygulanmasının gerekli olduğu ve tek yöntemin Bunu uygulayabilir yanlış dönüş tipi vardır. Bu oldukça karmaşık bir hata analizini zaten aldı ve problemi kendi başınıza teşhis etmenize izin vermek için yeterli değildi. Farklı bir hata mesajı daha yararlı oldu mu? Ne tür bir hata mesajı, yardım sormadan sorunu teşhis etmenizi sağlayabilirdi? –
Ben bir acemi ve Wrox (acemi) Visual C# kitap okuyorum. Kitapta bile belirtmediğim için IEnumerable ve IEnumerable'u uygulamak zorunda olduğumu bilmiyordum. Ayrıca bu kod egzersizin cevabıydı (baskıdan önce kodu kontrol edip etmediklerini merak etmek). Msdn web sitesine ve wrox forumuna bir göz attım ama onlar da bundan bahsetmiyorlar. IEnumerable'ın öğrenmem için oldukça zor olduğunu söylemeliyim. Ama şimdi hatayı tekrar okuduğumda, bunun mantıklı olduğunu kabul ediyorum. –