在我的应用程序中,我访问了许多不同类型的公司,比如 TypeA、TypeB 和 TypeC。所以我有一个公司类,从公司继承的是TypeA,TypeB,TypeC。
所以我有一个视图,用户想要在 TypeA 上进行搜索。搜索字段包括 Company 中的字段和 TypeA 中的字段。但是,如果我有一个 TypeA 的集合,比如 IEnumberable,在我在 TypeA 类中过滤它们之前如何过滤 Company 类中的字段?
编辑
所以这是我的伪代码
public abstract class Company
{
public string Property1 { get; set; }
public string Property2 { get; set; }
}
public class TypeA : Company
{
public string Property3 {get; set; }
}
public class TypeB : Company
{
public string Property4 {get; set; }
}
public abstract class SearchCompany
{
protected SearchCompany(string searchpProperty1, string searchProperty2)
{
// assign property code elided
}
public string SearchProperty1 { get; set; }
public string SearchProperty2 { get; set; }
}
public class SearchTypeA : SearchCompany
{
public SearchTypeA (string searchpProperty1, string searchProperty2, string searchProperty3)
: base (searchpProperty1, searchProperty2)
{
// assign property code elided
this.TypeAList = CacheObjects.TypeAList;
this.TypeAList = // this.TypeAList filtered by searchProperty3 depending on the wildcard
}
public string SearchProperty3 { get; set; }
public IList<TypeA> TypeAList { get; set; }
}
我也想过滤属性 1 和 2。