1
背景
我有幾十個模型和每個我建立了搜索&過濾器方法,返回該模型的過濾列表。我將這個方法用於Web項目,並通過WebApi將結果列表返回給視圖(如JSON)。是否可以將具有泛型類型的模型配置爲屬性?
我想創建一個模型,其中包括結果列表以及代表在服務器端找到的結果總數的int
屬性(如果您將分頁考慮在內,我將僅返回找到的子集結果到視圖)。
問題
是否有可能創建通用響應模型是這樣的:
public class FilteredResultModel
{
public List<T> Results { get; set; }
public int TotalResultsFound{ get; set; }
}
或者我需要爲每種類型的模型的單獨的結果模型我搜索和過濾:
public class FilteredCatResultModel
{
public List<Cat> Results { get; set; }
public int TotalResultsFound{ get; set; }
}
public class FilteredDogResultModel
{
public List<Dog> Results { get; set; }
public int TotalResultsFound{ get; set; }
}
如果有可能,它將如何完成?
已解決!
由於梅德等人在下面的意見,這是解決:
public class FilteredResultModel<T> //<----(added the <T>)
{
public List<T> Results { get; set; }
public int TotalResultsFound{ get; set; }
}
實現示例:
var resultModel = FilteredResultModel<Dog>
{
Count = 4000,
Results = new List<Dog>();
};
爲什麼不只是'FilteredResultModel'? –
Dmitry
2014-12-07 01:09:43
除非這些類別應該提供超出此處所提供的附加功能,否則您可能會返回一個列表或ReadOnlyCollection 。 –
2014-12-07 01:09:46
@德米特里 - 請你詳細說明這將如何工作?沒關係 - 我想我現在看到了。 。 。 – 2014-12-07 01:12:07