using static System.Console;
using System.Collections;
using System.Collections.Generic;
public class Program {
public static void Main() {
var x = new MyClasst<int>();
WriteLine(((IEnumerable)x).GetEnumerator());
WriteLine(x.GetEnumerator());
}
}
public class MyClasst<T> : IEnumerable<T> {
private T[] list;
public IEnumerable Teste() => (IEnumerable)GetEnumerator();
IEnumerator IEnumerable.GetEnumerator() {
WriteLine("Explícita");
return this.GetEnumerator();
}
public IEnumerator<T> GetEnumerator() {
yield return this.list[0];
}
}
//https://pt.stackoverflow.com/q/499982/101
dXNpbmcgc3RhdGljIFN5c3RlbS5Db25zb2xlOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnM7CnVzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwoKcHVibGljIGNsYXNzIFByb2dyYW0gewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKSB7CgkJdmFyIHggPSBuZXcgTXlDbGFzc3Q8aW50PigpOwoJCVdyaXRlTGluZSgoKElFbnVtZXJhYmxlKXgpLkdldEVudW1lcmF0b3IoKSk7CgkJV3JpdGVMaW5lKHguR2V0RW51bWVyYXRvcigpKTsKCX0KfQoKcHVibGljIGNsYXNzIE15Q2xhc3N0PFQ+IDogSUVudW1lcmFibGU8VD4gewogICAgcHJpdmF0ZSBUW10gbGlzdDsKCQoJcHVibGljIElFbnVtZXJhYmxlIFRlc3RlKCkgPT4gKElFbnVtZXJhYmxlKUdldEVudW1lcmF0b3IoKTsKCiAgICBJRW51bWVyYXRvciBJRW51bWVyYWJsZS5HZXRFbnVtZXJhdG9yKCkgewoJCVdyaXRlTGluZSgiRXhwbMOtY2l0YSIpOwogICAgICAgIHJldHVybiB0aGlzLkdldEVudW1lcmF0b3IoKTsKICAgIH0KCiAgICBwdWJsaWMgSUVudW1lcmF0b3I8VD4gR2V0RW51bWVyYXRvcigpIHsKICAgICAgICB5aWVsZCByZXR1cm4gdGhpcy5saXN0WzBdOwogICAgfQp9CgovL2h0dHBzOi8vcHQuc3RhY2tvdmVyZmxvdy5jb20vcS80OTk5ODIvMTAx