Về cơ bản giả sử bạn có một số bộ sưu tập:Bạn có muốn trả lại IEnumerator <T> .GetEnumerator() trong IEnumerator.GetEnumerator()?
public class FurCollection : IEnumerable<FurStrand>
{
public IEnumerator<FurStrand> GetEnumerator()
{
foreach(var strand in this.Strands)
{
yield return strand;
}
}
IEnumerator IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}
}
Điều này có được chấp nhận không? Hoặc là thực hành dễ bị lỗi hoặc xấu này? Tôi sẽ luôn sử dụng số IEnumerator<T
> nhưng tôi vẫn muốn phiên bản không phải là phiên bản chung được ổn định và được triển khai đúng cách.
Tôi chắc chắn bạn có nghĩa là ** IEnumerable ** thay vì sau đó ** IEnumerator ** ... –
Cảm ơn bạn đã viết mẫu này một cách nhanh chóng. –