Jemand meinte mit C# würde das gehen. Dort gäbe es eine Max function. Die Klasse müsste IEnumerable implementieren.
Muss die Klasse dazu nicht auch irgendwie einen Wert liefern?
Aber sonst: Klar sollte das per Generics gehen.
for-Schleife via IEnumerable, für jedes Objekt den Wert ermitteln und dann vergleichen.
Das geht sogar ohne Compiler-Unterstützung für Generics, es reicht eine TInterfaceList und darin gespeicherte Interfaces, die den Wert liefern.