Se opravičujem za zmedo pri tej nalogi. Za to nalogo je bilo res mišljeno, da se jo reši s preobteževanjem, kjer oznako T zamenjamo s ustreznim tipom spremenljivke.
Ker pa me je zanimalo, ali se da vseeno rešiti tudi z generiki, sem pogledal na spletu, če obstaja kakšna rešitev. Težava pri tej nalogi je namreč o tem, da pri seštevanju ne moremo nastaviti omejitve (public static T funkcija<T>(T podatek1, T podatek2) where T: (omejitev -> lahko_seštevamo)), kot lahko to naredimo na primer z IComparable.
Mislim, da je ena od rešitev lepo opisana na temelem linku:
Osnovna ideja pa je, da definiramo nov razred (podoben kot IComparable), ki omogoča seštevanje za nek poljuben tip. Ta razred potem navedemo kot omejitev. V where stavek lahko dodamo tudi več omejitev, zato bi lahko naredili tudi več razredov.
Seveda pa potem ta naloga verjetno ni več primerna za izpit :)
Mimogrede, težavnost pri tej nalogi sem ocenil na 2 od 3 in ne 2 od 10, kot je bilo to priporočeno na spletni učilnici (ker sem ta del prej nekoliko spregledal).