Tôi muốn loại của mình triển khai IEnumerable<string>
. Tôi cố gắng để làm theo C# in a Nutshell, nhưng đã xảy ra:Cách triển khai IEnumerable <T> bằng GetEnumerator()?
public class Simulation : IEnumerable<string>
{
private IEnumerable<string> Events()
{
yield return "a";
yield return "b";
}
public IEnumerator<string> GetEnumerator()
{
return Events().GetEnumerator();
}
}
Nhưng tôi nhận được lỗi build
Lỗi 1 'EventSimulator.Simulation' không thực hiện thành viên giao diện 'System.Collections. IEnumerable.GetEnumerator() '. 'EventSimulator.Simulation.GetEnumerator()' không thể thực hiện 'System.Collections.IEnumerable.GetEnumerator()' bởi vì nó không có kiểu trả về phù hợp của 'System.Collections.IEnumerator'.
Ngoài ra: bạn có thể 'trả về lợi nhuận' trực tiếp từ bên trong 'GetEnumerator()' – AlexFoxGill