3 回答
TA贡献1812条经验 获得超5个赞
由于null
没有类型,它无法确定类型TSearchFilter
是什么。您可以通过指定类型来调用该方法,例如query.GetGridResult<string, object>(queryFilter)
,这样即使您可能不使用该对象null
,它在您的上下文中仍然有效。
老实说,我会保留 2 种单独的方法,并让一种方法调用另一种更详细的方法。
TA贡献1811条经验 获得超6个赞
因为您正在尝试使用QueryFilter<TSearchFilter> queryFilter
具有非泛型 class 值的泛型参数调用方法QueryFilter
,这与泛型无关。
编辑:如果您希望使用单一方法,则QueryFilter
必须从QueryFilter<TSearchFilter>
.
TA贡献1993条经验 获得超5个赞
我在@MariePichova's answer的帮助下找到了答案。我改变了我的 QueryFilter 类,如下所示。然后一切正常。
public class QueryFilter<TSearchFilter> where TSearchFilter : class
{
public QueryFilter()
{
SearchFilter = (TSearchFilter)Activator.CreateInstance(typeof(TSearchFilter));
}
public string SortBy { get; set; }
public bool IsSortAscending { get; set; }
public int PageFirstIndex { get; set; }
public byte PageSize { get; set; }
public TSearchFilter SearchFilter { get; set; }
}
public class QueryFilter : QueryFilter<EmptySearchFilter>
{ }
public class EmptySearchFilter
{ }
- 3 回答
- 0 关注
- 210 浏览
添加回答
举报