[英]c# List of varying type set as object
我创建了一个通用搜索参数类,以在多个库中重用(请参见下文)。 我正在尝试找到一种更好的方法来实现每个参数的值列表。 我将参数列表传递给方法,但是每个参数的值的类型都不同。 我已经将其实现为简单的类型对象,并将在代码中根据需要将其转换为正确的类型,但是我觉得可能有更好的方法可以做到这一点,而且我没有太多建议。 任何人都做过类似的事情或有建议吗? 谢谢!
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)
如果列表的类型与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;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.