Я не уверен, что интерфейсы помогут вам здесь. Насколько я понимаю, вы разбиваете страницу на набор «составных» пользовательских элементов управления, которые содержат другие элементы управления, и вы хотите решить, использовать ли свойства для установки значений.
Я полагаю, что это действительно зависит от того, как разработаны пользовательские элементы управления и добавляются ли они динамически на страницу и т. Д. (Один из возможных сценариев) У меня есть личные предпочтения для указания вещи в конструкторе или использования фабричного метода для создания элементов управления. Я беру на себя ответственность за создание, чтобы убедиться, что все установлено. Мой опыт работы со свойствами заключается в том, что я иногда забываю что-то установить и не осознаю свою ошибку. Ваша точка зрения по поводу настройки свойств или использования подпрограммы и всего, что заполняется, не имеет большого смысла для меня. Если у вас есть какая-то зависимость и вам нужно загрузить что-то еще, это может произойти независимо от того, является ли это свойство или подчиненное.
Я бы обратился к любой книге на VB.NET/C#/OOP, чтобы увидеть синтаксис для интерфейсов. Интерфейсы в основном описывают контракт для класса. Если у вас есть классы A и B, и оба реализуют интерфейс, называемый ITime, тогда оба предоставят все методы, определенные в ITime. Они по-прежнему могут добавлять свои собственные методы, но они должны как минимум включать реализацию методов ITime (например, у нас могут быть GetDate (), GetCurrentTime () в качестве методов в ITime). Интерфейс не сообщает классу A или B, как эти методы должны работать - только их имя, параметры и тип возвращаемого значения. Поиск наследования в книге ООП для получения дополнительной информации о том, как наследование интерфейсов отличается от наследования реализации.