2
我對泛型有點新,我遇到了這個問題,我有重複的代碼,我試圖清理。簽名是不同的,但執行的代碼是相同的,有沒有辦法傳入一個泛型,而不必在新的簽名中指定每個類型?清理帶有泛型的代碼
public JsonResult<JsonData> GetServiceData(Func<IServiceResponse<IEnumerable<Order>>> func)
{
var response = func();
var jsonDataContainer = Mapper.Map<JsonData>(response);
var result = GetJsonResult(jsonDataContainer);
return result;
}
public JsonResult<JsonData> GetServiceData(Func<IServiceResponse<List<int>>> func)
{
var response = func();
var jsonDataContainer = Mapper.Map<JsonData>(response);
var result = GetJsonResult(jsonDataContainer);
return result;
}
public JsonResult<JsonData> GetServiceData(Func<IServiceResponse<User>> func)
{
var response = func();
var jsonDataContainer = Mapper.Map<JsonData>(response);
var result = GetJsonResult(jsonDataContainer);
return result;
}