Sayfalar

28 Ağustos 2019 Çarşamba

Generic Kısıtlama


Generic kısmında tanımlanan varlık için belirli kriterler eklenerek böylece hatalı tiplerin kullanılmasının önüne geçilebilir yada tipler ihtiyaç durumuna göre kısıtlanabilir.

Referans Tip Kısıtlama:

Örneğin aşağıdaki durumda string yada istenmeyen bir tip yollanımının önüne geçmek için referans tip olan( class bu anlama gelir) , new'lenebilen ve bir Entity ( DB nesnesi) olan varlıklar kullanılabilir filtresi ile Generic'i kısıtlamış oluruz.


public interface IRepository<Twhere T : classIEntitynew()
{
    void Add(T entity);
    void Update(T entity);
    void Delete(T entity);
    List<T> GetAll();
    List<T> SearchByName(string key);
    List<T> GetByUnitPriceAToZ();
    List<T> GetByUnitPriceZToA();
}

Değer Tip Kısıtlama:

Yalnızca int string vb değer tipler için aşağıdaki gibi ksııtlama yapılabilir.

public interface IRepository<Twhere T : struct
{
    void Add(T entity);
    void Update(T entity);
    void Delete(T entity);
    List<T> GetAll();
    List<T> SearchByName(string key);
    List<T> GetByUnitPriceAToZ();
    List<T> GetByUnitPriceZToA();
}

MVC LOADING TOO SLOW ISSUE