Generično programiranje: Razlika med redakcijama

Izbrisana vsebina Dodana vsebina
Ajgorhoe (pogovor | prispevki)
Ajgorhoe (pogovor | prispevki)
Vrstica 6:
.NET pozna šest vrst omejitev za henerične tipe (z uporabo ključne besede "where"), npr. omejitev na vrednostne tipe, na razrede, na tipe, ki imajo konstruktor, in na tipe, ki implementirajo zahtevane vmesnike.
 
Spodnji primer prikazije omejitev na tipe, ki implementirajo določen vmesnik (v tem primeru ICompatible<T>, ki je sam generični vmesnik, ki vsebuje isti tipskki parameter T, kot generična metoda "MakeAtLeast<T>"):
 
<source lang="csharp">
using System;
 
class Sample
{
static void Main()
{
int[] array = { 0, 1, 2, 3 };
MakeAtLeast<int>(array, 2); // Sprememba originalne tabele v { 2, 2, 2, 3 }
foreach (int i in array)
Console.WriteLine(i); // Izpis rezultata.
Console.ReadKey(true);
}
 
static void MakeAtLeast<T>(T[] list, T lowest)
where T : IComparable<T>
{
for (int i = 0; i < list.Length; i++)
if (list[i].CompareTo(lowest) < 0)
list[i] = lowest;
}
}
</source>