Junior — Middle
Ako možno nastaviť obmedzenie typu parametra v generiku?
sobes.tech AI
Odpoveď od AI
V jazyku C# sa obmedzenie typu parametra v generických typoch nastavuje pomocou kľúčového slova where. To umožňuje špecifikovať, že typ parametra musí dediť od určitej triedy, implementovať rozhranie, byť referenčný alebo hodnotový typ, mať konštruktor bez parametrov atď.
Príklad:
// Obmedzenie: T musí byť trieda, ktorá implementuje IDisposable a má konštruktor bez parametrov
public class MyClass<T> where T : class, IDisposable, new()
{
public T CreateInstance()
{
return new T();
}
}
Týmto spôsobom kompilátor zabezpečí, že pri použití MyClass s konkrétnym typom T, tento spĺňa stanovené obmedzenia.