public void ShowAdminInteractionWithGenericInterface <T>(T obj, Func <T, string> getIdFunc, Action <T> adjustAction) where T : class, new() { var service = new LibraryAdminService(ServerUrl); if (!service.AddItem(obj)) { Console.WriteLine($"{obj} konnte nicht hinzugefügt werden..."); return; } var items = service.GetList <T>(false); PrintAll(items, $"{typeof(T).Name}s (NEW)"); adjustAction(obj); if (!service.UpdateItem(obj, getIdFunc(obj))) { Console.WriteLine($"{obj} konnte nicht aktualisiert werden..."); return; } items = service.GetList <T>(false); PrintAll(items, $"{typeof(T).Name}s (NEW 2)"); if (!service.DeleteItem(obj, getIdFunc(obj))) { Console.WriteLine($"{obj} konnte nicht gelöscht werden..."); return; } items = service.GetList <T>(false); PrintAll(items, $"{typeof(T).Name}s (NEW 3)"); }