Tôi đang cố gắng thực hiện Danh sách Danh sách của riêng mình (đơn giản). Đây là những gì tôi đã làm cho đến nay:Việc triển khai thực hiện các tính năng IEnumerable <T>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace provaIEnum
{
class MyList<T> : IEnumerable<T>
{
private T[] _array;
public int Count { get; private set; }
public MyList() { /* ... */ }
public void Add(T element) { /* ... */ }
// ...
public IEnumerator<T> GetEnumerator()
{
for (int i = 0; i < Count; i++)
yield return _array[i];
}
}
Tôi nhận được một lỗi về GetEnumerator mặc dù:
'provaIEnum.Lista' không thực hiện giao diện thành viên 'System.Collections.IEnumerable.GetEnumerator() '. 'provaIEnum.Lista.GetEnumerator()' không thể triển khai 'System.Collections.IEnumerable.GetEnumerator()' bởi vì nó không có kiểu trả về phù hợp của 'System.Collections.IEnumerator'.
Tôi không chắc liệu tôi có hiểu VS đang cố gắng nói với tôi hay không và tôi không biết cách khắc phục.
Cảm ơn thời gian của bạn
Lưu ý rằng bạn không nên viết điều tra viên của bạn như vậy vì hiện tại bạn có thể sửa đổi mảng nội bộ của bạn trong 'foreach' (gọi' Add' trong foreach sẽ không gây ra ngoại lệ). [Xem] (http://stackoverflow.com/questions/24142614/when-should-i-separately-implement-ienumeratort) – nawfal
@nawfal điểm tốt, lỗi luôn xem chúng tôi;) – BlackBear