我已经开发了一个ASP.NET用户控件,它的实例可能会在一个页面上出现多次。在不涉及太多应用程序细节的情况下,当任何一个实例的值发生变化时,所有其他实例都需要刷新。目前,为了实现这一点,我要求消费页面实现两个方法,这些方法遍历表单上的每个控件,找到我的用户控件的所有实例,并在每个实例中调用一个Refresh方法。在功能上,它工作得很完美。但是,我希望强制使用页面的开发人员完全按照我的要求实现这两个方法。我可以让他们实现一个接口,但这并不能在每个方法中提供功能。或者我可以让它们扩展一个抽象类,但在任何一种情况下(接口或抽象类),我如何才能强制它们继承?我需要一些东西,如果必要的抽象类没有被消费页面扩展,就会触发编译器错误。有什么想法吗?
谢谢。
发布于 2012-03-14 21:57:23
您可以通过在C#中使用'abstract methods‘或在VB.NET中使用'MustInherit’关键字来强制实现。
在你的特殊情况下,你期望开发人员本质上实现“你的”代码来强制刷新,而这是我不想要的委托。在不了解太多细节的情况下,我很想使用'Observer‘设计模式,或者可能使用'Mediator’,或者使用单独的对象作为控制器,或者甚至将控制/发布代码应用到网页上。这里有一个'Observer' in ASP.NET的实际示例。
HTH
https://stackoverflow.com/questions/9701982
复制相似问题