Sobes.tech
Junior — Middle

Как може да се наложи ограничение върху типа на параметъра в генерик?

sobes.tech AI

Отговор от AI

В C# ограничението на типа параметър в генериците се задава с помощта на ключовата дума where. Това позволява да се посочи, че типът параметър трябва да наследява определен клас, да реализира интерфейс, да бъде референтен или стойностен тип, да има конструктор без параметри и др.

Пример:

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

По този начин компилаторът гарантира, че при използване на MyClass с конкретен тип T, той отговаря на зададените ограничения.