Sobes.tech
Junior — Middle

Kako se može postaviti ograničenje na tip parametra u generiku?

sobes.tech АИ

Одговор од АИ

U C#-u, ograničenje tipa parametra u generičkim se postavlja pomoću ključne reči where. To omogućava da se navede da tip parametra mora naslediti od određene klase, implementirati interfejs, biti referentni ili vrednosni tip, imati konstruktor bez parametara itd.

Primer:

// Ograničenje: T mora biti klasa koja implementira IDisposable i imati konstruktor bez parametara
public class MyClass<T> where T : class, IDisposable, new()
{
    public T CreateInstance()
    {
        return new T();
    }
}

Na ovaj način, kompajler garantuje da, pri korišćenju MyClass sa konkretnim tipom T, on ispunjava zadate ograničenja.