如何跨自定义控件类删除重复的代码

时间:2012-10-17 14:52:47

标签: c# .net custom-controls custom-server-controls servercontrols

我有2个自定义服务器控件类。一个继承自TextBox,另一个继承自Label。

这两个类都包含很多公共代码(各种属性和属性呈现逻辑),但这些类也包含一些不同的代码。

理想情况下,公共代码将包含在抽象类中,每个自定义控件都将从该抽象类继承。当然这是不可能的,因为它们已经从它们各自的基类继承而且c#不支持多重继承。 如何解决代码重复问题?

1 个答案:

答案 0 :(得分:0)

这取决于确切的功能。如果他们没有办法从同一个地方继承(似乎就是这种情况)那么最好的办法就是拥有一个包含共同功能的第三个类,并以某种方式包含它,或者通过拥有它的实例在您的控件类中或只是在其上调用静态方法。我想要的可能取决于你的代码是什么,并希望相对明显。