Я хочу иметь безопасный контроль, но также хочу расширить существующую кнопку или текстовое поле, которое предоставляет инфраструктура asp.net. Так что мой класс dec будет выглядеть примерно так:
public class MyTextBox : System.Web.UI.WebControls.TextBox
Я думал, что-то вроде шаблона стратегии для этого, но не уверен, как я мог бы передать ISecureControl в ctor или, возможно, метод init или что-то еще?
Возможно, я отвечаю на свой вопрос. Я думаю, что я мог бы переопределить OnInit или OnPreInit или что-то еще, создать и передать его туда, но не был уверен, есть ли способ просто напрямую передать его при создании?
override OnInit()
{
secureControl = new MySecureControl();
}
override OnRender()
{
if(secureControl.CanRender)
base.OnRender();
}
Есть ли лучший способ? или я здесь решаю свою проблему ...