Использовать динамическое наследование C# - PullRequest
0 голосов
/ 11 марта 2020

В моем проекте я использую страницу .CS HTML и страницу .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, что-то вроде этого ..

Ваши предложения будет очень заметно.

1 Ответ

0 голосов
/ 11 марта 2020

Нет. C# - статически типизированный язык. Все наследование должно быть сделано заранее. Есть «Dynami c», но, насколько я знаю, это не позволяет объявлять типы таким образом.

Способ, которым я хотел бы подойти к этому, - создать обертки вокруг System.Web.WebPages.WebPage и System.Web.UI.Page, которые имеют общий интерфейс, и поместить ваш код в третий класс, который принимает объект с этим интерфейсом в конструкторе. Т.е. использовать композицию вместо наследования .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...