Come descritto su MSDN il metodo reset è fornito solo per interoperabilità con il mondo COM; testualmente The Reset method is provided for COM interoperability. It does not necessarily need to be implemented; instead, the implementer can simply throw a NotSupportedException. Come esempio provate ad eseguire questo semplice test: class test{ public void start() { this.Reset(this.GetItems()); this.Reset(this.GetYieldItems()); } private void Reset<T>(IEnumerable<T> items) { items.GetEnumerator().Reset(); } private IEnumerable<string> GetItems() { return new List<string>(new string[] { "0", "1", "2" }); } private IEnumerable<string> GetYieldItems() { for (int i = 0; i...