C# 自定义链接按钮和超链接之间的ASP.NET共享代码

C# 自定义链接按钮和超链接之间的ASP.NET共享代码,c#,asp.net,inheritance,interface,webforms,C#,Asp.net,Inheritance,Interface,Webforms,我创建了一个自定义WebControl,它继承了LinkButton,并具有一些额外的属性来更改外观,例如图标/定位。我还希望有一个等效的超链接控件,但它将以完全相同的方式呈现,即标记,但带有href,而不是导致回发。所有的属性和渲染方法都是相同的,但我无法确定如何在它们之间共享代码 理想情况下,一些静态呈现方法会很好,但LinkButton和HyperLink没有WebControl以外的共同祖先,WebControl不够具体,因为我需要访问这两种方法上的CssClass和Text属性 甚至可

我创建了一个自定义WebControl,它继承了LinkButton,并具有一些额外的属性来更改外观,例如图标/定位。我还希望有一个等效的超链接控件,但它将以完全相同的方式呈现,即标记,但带有href,而不是导致回发。所有的属性和渲染方法都是相同的,但我无法确定如何在它们之间共享代码

理想情况下,一些静态呈现方法会很好,但LinkButton和HyperLink没有WebControl以外的共同祖先,WebControl不够具体,因为我需要访问这两种方法上的CssClass和Text属性


甚至可以创建既能在LinkButton上工作又能在HyperLink上工作的共享代码吗?

在我的脑海中,创建适配器类,共享包装LinkButton和HyperLink属性的相同界面,或者将对象强制转换为动态对象,让DLR为您完成工作,并将intellisense和编译时安全性抛到窗外。我觉得一定有更好的方法,但我已经有一段时间没有使用ASP.NET了,所以可能会有更好的技术。编辑:关于动态,最好让你的样式类采用强类型链接按钮/超链接,然后在内部使用动态和添加单元测试;这将有助于编译时安全。