Ich bin neu bei Generika. Ich möchte meine eigene Sammlung implementieren, indem ich sie von IList<T>
interface ableite.
Können Sie mir bitte einen Link zu einer Klasse geben, die IList<T>
interface implementiert oder mir einen Code zur Verfügung stellt, der mindestens Add
und Remove
Methoden implementiert?
Wenn Sie keinen zwingenden Grund haben, dies zu tun, ist es am besten, von System.Collections.ObjectModel.Collection<T>
zu erben, da es alles enthält, was Sie brauchen.
Bitte beachten Sie, dass, obwohl die Implementierer von IList<T>
nicht this[int]
(indexer) als O (1) implementieren müssen (grundsätzlich Zugriff mit konstanter Zeit), wird dringend empfohlen, dies zu tun.
Sie können sich das Mono-Projekt ansehen. Es gibt vollständige Quellcodes, so dass Sie schauen können, wie einige Klassen implementiert sind. Zum Beispiel "System.Collections.Generics.List & lt; T & gt;".
Das Vererben von List ist oft der schnellste Ansatz, kann aber später in der Zeile einschränken, wenn Sie von einer anderen Klasse erben müssen (z. B. ContextBoundObject usw.). Es ist ziemlich schnell zu implementieren IList und wie oben erwähnt, gibt es viel mehr Flexibilität.
Tags und Links c# generics collections ilist