Dann wirst du eine eigene Wrapper-Klasse erstellen müssen, die nur diese spezielle Funktionalität anbietet.
Du kannst aber auch von
List<T> ableiten und per Schlüsselwort
new eine neue Implementierung erzeugen (und z.B. beim Setter des Indexers eine
Exception werfen):
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| class SpecialList<T> : List<T> { public new T this[int n] { get { return base[n]; } set { throw new NotImplementedException(); } }
} |
Diese Klasse kann dann aber nur direkt benutzt werden, nicht per Polymorphie.
PS: Was mir gerade noch einfällt, für nur vorne einfügen, wäre auch eine
Queue<T> geeignet (bzw.
Stack, je nachdem wie die Objekte wieder daraus entfernt werden sollen).
Unter
Generische limitierte Liste (im anderen C#-Forum) gibt es zurzeit eine ähnliche Anfrage.