我有兩個繼承自 BaseController 的類/控制器
public class ProductController : BaseController
public class CategoryController : BaseController
考慮到這些控制器用于單個頁面,我需要格式化List/IEnumerable物件(類別或產品)的格式,并傳入。
在BaseController類中,我嘗試添加一個T型別,但我不明白應該如何完成,因為如果我將 T 添加為類宣告的一部分,則以下代碼要么拋出 T 不存在的錯誤,要么現有的控制器中斷BaseController<T>。
這BaseController是執行此操作的方法
public class BaseController : SomeController
{
public List<string> GetDataRefresh(List<T> itemList) // <T> causes an error
{
foreach (var item in itemList)
{
}
}
}
所以我想傳入一個產品或類別串列之類的東西,這個方法對傳入的資料進行處理,并回傳一個相同資料的串列,List<string>無論是產品、類別還是任何其他型別。
在這種情況下我怎么能宣告一個 T ?
編輯 1
一旦以上以這種方式作業,那么在我的 ProductsController 我應該能夠做類似的事情
private List<string> RefreshData()
{
return GetDataRefresh(_ctx.GetProducts()); // GetProducts is List<Product>
}
在類別控制器中,它將是
private List<string> RefreshData()
{
return GetDataRefresh(_ctx.GetCategories()); // GetCategories is List<Category>
}
uj5u.com熱心網友回復:
看來你需要這個:
public List<string> GetDataRefresh<T>(List<T> itemList)
{
foreach (var item in itemList)
{
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/511343.html
