Sobes.tech
Junior — Middle

Bir jenerikte parametre türüne nasıl kısıtlama getirilebilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

C# dilinde, jeneriklerde parametre tipi kısıtlaması where anahtar kelimesi kullanılarak belirlenir. Bu, parametre tipinin belirli bir sınıftan türemesi, bir arayüzü uygulaması, referans veya değer tipi olması, parametresiz bir yapıcıya sahip olması gibi durumları belirtmeye olanak tanır.

Örnek:

// Kısıtlama: T, IDisposable arayüzünü uygulayan ve parametresiz bir yapıcıya sahip bir sınıf olmalı
public class MyClass<T> where T : class, IDisposable, new()
{
    public T CreateInstance()
    {
        return new T();
    }
}

Bu şekilde, derleyici, MyClass kullanılırken belirli bir T tipi ile, bu sınıfın tanımlanan kısıtlamaları karşıladığından emin olur.