У меня есть общий редактор на странице ASP.NET для редактирования значений поиска для разных таблиц базы данных.
В коде используется базовый класс, который обрабатывает 99% работ по всем поискам в системе.
Класс C # передается в базовый класс из кода, указанного ниже.
public class LookupPageBase : System.Web.UI.Page
{
protected IEditableLookupManager LookupManager
{
get
{
return this.lookupManager;
}
set
{
this.lookupManager = value;
}
}
}
public partial class LookupsEditor : LookupPageBase
{
this.LookupManager = new ConcreteManagerClass();
}
Различный класс C # передается в свойство менеджера поиска для каждого поиска. Я мог бы использовать шаблон фабрики, чтобы избежать большого, если тогда еще в коде позади. Однако мне было интересно, можно ли добиться того же эффекта с помощью подкласса кода, стоящего за , например.
public partial class LookupsEditorSubClass : LookupsEditor
{
public LookupsEditorSubClass() {
base.LookupManager = new ConcreteManagerClass();
}
}
Вопросы:
1) Это потребовало бы, чтобы код позади класса был установлен динамически ..... Может ли код позади класса быть установлен динамически и возможно ли даже наследовать от частичного класса?
2) Если я использую фабрику вместо этого, нужно ли мне просто принимать большое, если еще?