Tôi nhận được thông báo lỗi này và tôi không thể hiểu tại sao!Thông báo lỗi liên quan đến IEnumerable.GetEnumerator()
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
Đây là mã có triển khai GetEnumerator(). Có gì sai?
public class ShortCollection<T> : IList<T>
{
protected Collection<T> innerCollection;
protected int maxSize = 10;
public IEnumerator<T> GetEnumerator()
{
return (innerCollection as IEnumerator<T>).GetEnumerator();
}
}
Đơn giản chỉ cần không bỏ đối tượng innerCollection, cho cả triển khai thực hiện IEnumerable và IEnumerable. Xem mã đầy đủ của tôi trong câu trả lời được đăng bên dưới ... –
code4life
Tôi nhận thấy rằng thông báo lỗi cho bạn biết chính xác * điều gì đang xảy ra ở đây: IEnumerable chưa được triển khai, yêu cầu phải được triển khai và phương pháp duy nhất có thể triển khai nó có kiểu trả về sai. Điều đó đã thực hiện một phân tích lỗi phức tạp và chưa đủ để cho phép bạn tự chẩn đoán vấn đề. Một thông báo lỗi khác có hữu ích hơn không? Loại thông báo lỗi nào đã cho phép bạn chẩn đoán sự cố mà không yêu cầu trợ giúp? –
Tôi là một newbie và đang đọc sách Wrox (người mới bắt đầu) Visual C#. Tôi không biết rằng tôi đã phải thực hiện cả IEnumerable và IEnumerable, vì nó thậm chí không được đề cập trong cuốn sách. Cộng với mã đó là câu trả lời của bài tập (tự hỏi liệu họ đã kiểm tra mã trước khi in ra). Tôi đã xem trang web msdn và diễn đàn wrox nhưng họ cũng không đề cập đến nó. Tôi phải nói IEnumerable là khá khó khăn cho tôi để tìm hiểu. Nhưng bây giờ tôi đã đọc lỗi một lần nữa, tôi đồng ý rằng có ý nghĩa. –