Sobes.tech
Junior — Middle
84

Каким образом можно установить ограничение на тип параметра в дженерике?

Компании, где спрашивали
Swiftfactory

Ответ от нейросети

sobes.tech AI

В C# ограничение типа параметра в дженериках задаётся с помощью ключевого слова where. Оно позволяет указать, что тип параметра должен наследоваться от определённого класса, реализовывать интерфейс, быть ссылочным или значимым типом, иметь конструктор без параметров и т.д.

Пример:

// Ограничение: T должен быть классом, реализующим интерфейс IDisposable и иметь конструктор без параметров
public class MyClass<T> where T : class, IDisposable, new()
{
    public T CreateInstance()
    {
        return new T();
    }
}

Таким образом, компилятор гарантирует, что при использовании MyClass с конкретным типом T, он удовлетворяет заданным ограничениям.