我想有一个安全的控制,而且要扩展的现有按钮或文本框的asp.net框架提供。所以我的课十二月看起来是这样的:

public class MyTextBox : System.Web.UI.WebControls.TextBox

我在想这样一个策略模式做这件事,但不知道我如何能在一个ISecureControl传递到构造函数或可能的init方法还是什么?

我可能会回答我的问题。我想我也许能重写OnInit的或OnPreInit或东西,创造,并通过它在那里,但不知道是否有,只是直接通过它在某种程度上在创建方式?

override OnInit()
{
  secureControl = new MySecureControl();
}

override OnRender()
{
  if(secureControl.CanRender)
    base.OnRender();
}

有没有更好的办法?还是我在这里解决我自己的问题...

有帮助吗?

解决方案

是的,这几乎是它。对于具体的情况,我会继续前进。 如果MySecureControl有其自身的构造函数的参数,你可以看看依赖注入,但是这意味着,而不是使用新的,你会使用类似ObjectFactory.GetInstance <>或只是ObjectFactory.BuildUp(本),并使用属性注入。 不出汗:)

其他提示

为什么不MyTextBox只实现ISecureControl?

public class MyTextBox : TextBox, ISecureControl
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top