Sobes.tech
Junior — Middle

Jak lze nastavit omezení typu parametru v generiku?

sobes.tech AI

Odpověď od AI

V jazyce C# se omezení typu parametru u generických typů nastavuje pomocí klíčového slova where. To umožňuje určit, že typ parametru musí dědit z určité třídy, implementovat rozhraní, být referenční nebo hodnotový typ, mít konstruktor bez parametrů atd.

Příklad:

// Omezení: T musí být třída, která implementuje IDisposable a má konstruktor bez parametrů
public class MyClass<T> where T : class, IDisposable, new()
{
    public T CreateInstance()
    {
        return new T();
    }
}

Tímto způsobem zaručuje překladač, že při použití MyClass s konkrétním typem T, tento splňuje stanovená omezení.