У меня есть иерархия в моем проекте веб-сайта, как показано ниже:
[CustomControl1 - folder]
- CustomControl1.ascx
- CustomControl1.css
- CustomControl1.js
Я загружаю файлы CSS и JS динамически в зависимости от того, какие элементы управления используются на конкретной странице. Я делаю это с помощью следующего кода:
protected void Page_Load(object sender, EventArgs e)
{
CustomControl1.AddLinks( Page.Header);
CustomControl2.AddLinks( Page.Header);
...
}
, где AddLinks
метод добавляет HtmlLink
элементы управления к Page.Header
с атрибутом href
, установленным для соответствующих css и / или js файлов.
Я хотел бы добавить интерфейс, который заставил бы новые элементы управления иметь метод AddLinks , но это невозможно, поскольку это статический метод. Поскольку мои пользовательские элементы управления наследуются от класса Control, я также не могу использовать абстрактный класс и / или виртуальные методы. Как мне достичь своей цели?
Примечание:
Я знаю, что подобные (о статических методах в интерфейсах) вопросы были опубликованы на SO раньше, но я не нашел там правильного решения. (или я слишком дурак, чтобы понять, что это было правильное решение; -)