私のアプリケーションでは、TypeA、TypeB、TypeC など、さまざまなタイプの多数の企業にアクセスしています。だから私は会社のクラスを持っていて、会社から継承されたのはTypeA、TypeB、TypeCです。
したがって、ユーザーが TypeA で検索を実行したいビューがあります。検索フィールドには、Company のフィールドと TypeA のフィールドが含まれます。ただし、IEnumberable などの TypeA のコレクションがある場合、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 にもフィルターをかけたいと思います。