Generisches Repository im Speicher mit C#
In dieser Lektion baust du eine generische Repository-Klasse, die beliebige Datentypen speichert und dabei typsicher bleibt.
Einführung
Ein Repository ist die Zwischenschicht, die für das Speichern und Abrufen von Daten zuständig ist. Schreibst du das Repository generisch, reicht eine einzige Implementierung für viele Datenarten wie Benutzer, Produkte oder Bestellungen, ganz ohne Typumwandlungen.
Die Klasse Repository<T> speichert die Daten in einer privaten List<T>. Erzeugst du new Repository<string>(), nimmt das Repository nur Strings an, und jeder Versuch, einen anderen Typ hinzuzufügen, wird vom Compiler gemeldet. Die Eigenschaft All gibt eine IReadOnlyList<T> zurück, die das Lesen erlaubt, das Ändern der Liste von außen aber nicht.
Ausführbares C#-Beispiel
using System;
using System.Collections.Generic;
class Repository<T>
{
private readonly List<T> _items = new();
public void Add(T item) => _items.Add(item);
public IReadOnlyList<T> All => _items;
}
class Program
{
static void Main() { var repo = new Repository<string>(); repo.Add("C#"); Console.WriteLine(repo.All[0]); }
}
C#Mit dem Debugger üben
Mit einer Challenge üben
Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.
Alle Challenges