Sobes.tech
Junior — Middle

Come si può impostare una restrizione sul tipo di parametro in un generico?

sobes.tech AI

Risposta dell'AI

In C#, la restrizione del tipo di parametro nei generici si definisce usando la parola chiave where. Essa permette di specificare che il tipo di parametro deve ereditare da una determinata classe, implementare un'interfaccia, essere un tipo di riferimento o valore, avere un costruttore senza parametri, ecc.

Esempio:

// Restrizione: T deve essere una classe che implementa IDisposable e ha un costruttore senza parametri
public class MyClass<T> where T : class, IDisposable, new()
{
    public T CreateInstance()
    {
        return new T();
    }
}

In questo modo, il compilatore garantisce che, usando MyClass con un tipo T specifico, questo soddisfi le restrizioni definite.