我已经创建了一个通用的搜索参数类,可以在几个库中重用(参见下文)。我正在尝试找到一种更好的方法来实现每个参数的值列表。我将一个参数列表传递给一个方法,但每个参数的值都有不同的类型。我已经将它实现为简单的类型对象,并将在我的代码中根据需要转换为正确的类型,但我觉得可能有更好的方法来做到这一点,我不会想出太多。有人做过类似的事情或有什么建议吗?谢谢!
public class SearchParameter<T>
{
public T Name { get; set; }
public List<object> Values { get; set; }
}
public enum OrderSearchParameterNames
{
Barcode,
DateCompleted,
DatePlaced,
OrderStatus,
UserId
}
public class OrderSearchParameter : SearchParameter<OrderSearchParameterNames>
{
public OrderSearchParameter(OrderSearchParameterNames name, List<object> values)
{
Name = name;
Values = values;
}
}
public ApiResponse<OrderWellplate, ApiResponseStatus> SearchOrders(int currentPageIndex, int pageSize, List<OrderSearchParameter> searchParameters, OrderSortParameter sortParameter, out int recordCount)
答案 0 :(得分:1)
如果列表的类型与Name
public class SearchParameter<T>
{
public T Name { get; set; }
public List<T> Values { get; set; }
public SearchParameter(T name, List<T> values)
{
Name = name;
Values = values;
}
}
如果列表的类型与Name
public class SearchParameter<TName, TValues>
{
public TName Name { get; set; }
public List<TValues> { get; set; }
public SearchParameter(TName name, List<TValues> values)
{
Name = name;
Values = values;
}
}