VB.net наследует 2 класса - PullRequest
1 голос
/ 17 января 2012

Можно ли наследовать от двух классов в VB.net?

Мы разрабатываем пользовательские элементы управления, которые наследуются, скажем, от System.Web.UI.WebControls.Label. Мы планируем реализовать несколько этих элементов управления, но они будут иметь в основном те же дополнительные свойства . Мы надеемся на централизацию этих свойств.

Я изучил интерфейсы, но, похоже, они только «заключают в себе» свойства, которые необходимо реализовать.

Мысли

Ответы [ 2 ]

2 голосов
/ 17 января 2012

Нет.Типы VB.net не могут наследовать более одного класса.Можно реализовать бесконечное количество интерфейсов, но наследование ограничено одним типом.

Примечание. Это не произвольное ограничение VB.Net.Это на самом деле ограничение, которое запекается в CLR.Такие языки, как C ++ / CLI, обходят это с помощью некоторых очень интересных процедур выравнивания типов, но на уровне CLR они используют одиночное наследование.

0 голосов
/ 17 января 2012

Нет, вы не можете наследовать от двух классов.

Однако мы столкнулись с той же проблемой, что и вы, и решили ее следующим образом:

1) Мы создали интерфейс, который был реализован каждым из элементов управления, чтобы их можно было легко обнаружить.

2) Мы создали класс настроек, который содержал настройки и логику, общие для всех классов.

3) Мы добавили свойство в интерфейс, созданный в 1, чтобы предоставить класс настроек, чтобы мы могли выполнять стандартные действия со всеми свойствами.

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