【发布时间】:2019-12-17 10:43:43
【问题描述】:
我想在派生类中重写 BuildFilter 方法。我有一个带有以下签名的虚拟 BuildFilter 方法
public abstract class BaseSearchProperty <TEntity> : ISearchResultProperty<TEntity>
{
public virtual List<AppliedFilter> BuildFilter(object value)
{
return new List<AppliedFilter>();
}
}
我知道 BuildFilter 方法覆盖类型一种是string,另一种是字符串列表List<string>。我在派生类中编写了覆盖方法,如下所示
public class IndustrySearchProperty : BaseSearchProperty<API.ISearchResult>
{
public override List<AppliedFilter> BuildFilter(string filterValue,)
{
var appliedFilters = new List<AppliedFilter>();
return appliedFilters;
}
public override List<AppliedFilter> BuildFilter(List<string> filterValue)
{
var appliedFilters = new List<AppliedFilter>();
return appliedFilters;
}
}
但是我遇到了错误,比如找不到合适的方法来覆盖。我知道这个错误是父类签名和子类签名需要相同。有没有其他方法可以解决这个问题??
【问题讨论】:
标签: c# inheritance polymorphism overriding