使用动态继承C#



在我的项目中,我使用的是.CSHTML页面和.aspx页面。。所以我有两个类似的抽象类

public abstract class RazorAbstractPage : System.Web.WebPages.WebPage
public abstract class AbstractPage : System.Web.UI.Page

两者都在使用相同的代码。。所以页面中有重复的代码。。。有没有任何方法可以在基于条件的基础上继承,比如Razor System.Web.WebPages.WebPage和System.Web.WebPages.WebPage,比如这样。。

你的建议会很可观。

否。C#是一种静态类型的语言。所有的继承都必须提前完成。有"dynamic",但据我所知,它不允许以这种方式声明类型。

我处理这一问题的方法是围绕具有公共接口的System.Web.WebPages.WebPage和System.Web.UI.Page制作一个包装器,并将代码放在第三个类中,该类在构造函数中接受具有此接口的对象。即使用组合而不是继承。

最新更新