Используя ваши примеры:
Какой экземпляр ClassA
должен получить общий ClassB.DoWork()
при попытке обратиться к свойству Me.SecurityKey
?
Если вы сделаете свойство ClassA.SecurityKey
также совместно используемым, это будет иметь немного больше смысла, но тогда отношения наследования больше не будут важны. С тем же успехом вы можете сказать ClassA.SecurityKey
внутри этого метода, потому что вам все равно придется знать о ClassA, чтобы знать о его унаследованном свойстве.
Если вы сделаете ClassB.DoWork()
как метод экземпляра, а не как общий метод, вы можете использовать ключевое слово MyBase
в VB.Net для ссылки на унаследованное свойство ClassA, даже если ClassB перегружает или скрывает его.