Наследование не делает этого. Имейте в виду, что вы работаете с классами, которые являются своего рода шаблоном для вашего объекта. Вы смешиваете это с экземплярами , которые являются экземпляром вашего класса, который содержит данные.
Например, когда вы создаете экземпляр FileDoc
, вы получаете пустой объект, содержащий поля как BaseClass
, так и FileDoc
. FileDoc
не знает, есть ли другие экземпляры BaseClass
, которые содержат данные (и не должны). Подумайте об этом так: если у вас было несколько экземпляров BaseClass
, а затем вы создали экземпляр класса FileDoc
, какой экземпляр BaseClass
следует использовать для заполнения данных?
Есть два способа сделать то, что ты хочешь сделать. Во-первых, вы можете представить, что ваш BaseClass
абстрактный (не уверен, как это сделать в VB). Таким образом, вы не будете создавать экземпляры BaseClass
. BaseClass
существует исключительно для предоставления базы, от которой могут наследовать другие классы. Итак, вам нужно создать экземпляр FileDoc
, а затем заполнить его нужными вам данными.
Ваш другой параметр имеет BaseClass
, но не наследуется от него. Вместо этого вы можете думать о FileDoc
как обертке, которая принимает BaseClass
в качестве параметра. Таким образом, это означает, что FileDoc
имеет закрытый член типа BaseClass
. Таким образом, вам не нужно наследовать, но у вас есть доступ к данным из BaseClass
.
Выберите метод, подходящий для вашей ситуации.