![]() |
Implementierung von IEnumerable<T>
Hallo!
Eine Frage: Wieso muss man, wenn man das Typensichere Interface IEnumerable<T> implementieren will sowohl die Typensichere Methode GetEnumerator() sowie auch die Nicht-Typensichere einbinden?
Code:
Wozu die zweite (Nicht-Typensichere) Methode?
#region IEnumerable<string> Members
public IEnumerator<string> GetEnumerator() { foreach (string s in strings) { yield return s; } } #endregion #region IEnumerable Members System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { throw new Exception("The method or operation is not implemented."); } #endregion Danke für jede Antwort. Grüße Faux |
Re: Implementierung von IEnumerable<T>
Wieso stellst Du die Frage hier nochmal, wenn Du hier bereits gesagt hast, sie wäre geklärt?
![]() |
Re: Implementierung von IEnumerable<T>
Weil IEnumerable<T> von IEnumerable ableitet? :roll:
Da IEnumerator<T> von IEnumerator ableitet brauchst du die Methode nur einmal type safe schreiben. Für die explizite Implementierung von IEnumerable kannst du dein GetEnumerator aufrufen...
Code:
IEnumerator IEnumerable.GetEnumerator()
{ return GetEnumerator(); } |
Re: Implementierung von IEnumerable<T>
Zitat:
Zitat:
Grüße Faux |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz