在C#中,接口(interface)和泛型(generic)可以搭配使用來實現更靈活和通用的代碼。通過在接口定義中使用泛型參數,可以使接口適用于不同類型的實現類。
例如,下面是一個簡單的泛型接口的示例:
public interface IRepository<T>
{
void Add(T item);
void Remove(T item);
T GetById(int id);
}
在上面的示例中,IRepository<T>
接口是一個泛型接口,其中的方法都操作泛型類型T的對象。當實現這個接口時,可以指定具體的類型來代替T,從而實現相應的邏輯。
以下是一個實現IRepository<T>
接口的示例:
public class CustomerRepository : IRepository<Customer>
{
public void Add(Customer item)
{
// 實現添加邏輯
}
public void Remove(Customer item)
{
// 實現移除邏輯
}
public Customer GetById(int id)
{
// 根據id獲取對象邏輯
return null;
}
}
在上面的示例中,CustomerRepository
類實現了IRepository<Customer>
接口,并指定了泛型類型為Customer
。這樣,CustomerRepository
類就可以操作Customer
類型的對象。
通過接口和泛型的搭配使用,可以實現更加通用和靈活的代碼,減少重復代碼的編寫,提高代碼的可復用性。