Sobes.tech
Junior — Middle

Jak można ustalić ograniczenie na typ parametru w generyku?

sobes.tech AI

Odpowiedź od AI

W C#, ograniczenie typu parametru w generykach jest ustawiane za pomocą słowa kluczowego where. Pozwala to określić, że typ parametru musi dziedziczyć po określonej klasie, implementować interfejs, być typem referencyjnym lub wartościowym, mieć konstruktor bez parametrów itp.

Przykład:

// Ograniczenie: T musi być klasą implementującą IDisposable i mieć konstruktor bez parametrów
public class MyClass<T> where T : class, IDisposable, new()
{
    public T CreateInstance()
    {
        return new T();
    }
}

W ten sposób kompilator gwarantuje, że podczas używania MyClass z konkretnym typem T, spełnia on określone ograniczenia.