Why Is MyBase.MyBase
Not Allowed?
In Visual Basic .NET, C#, and Java access is resticted to the direct base class. The main reason for this is that allowing access to a class’ grand-base could lead to inconsistencies in an object’s state. The sample below illustrates this problem:
MyBase.MyBase
could be used to bypass code that is required by the class hierarchy, for example, if the derived class calls a function defined in its grand-base class directly, bypassing a base function, where the base function is needed for the entire class hierarchy to work correctly.