Maybe the title of the question is not the proper, because the methods in a module cannot be shadowed, but In essence I want to shadow a base member declaring it again, and hidding it without loosing the opportunity to call it and return the proper value.
Normally I do this for Classes:
<EditorBrowsable(EditorBrowsableState.Never)>
Public Shadows Function Equals(ByVal obj As Object) As Boolean
Return MyBase.Equals(obj)
End Function
And this for Structures:
<EditorBrowsable(EditorBrowsableState.Never)>
Public Shadows Function Equals(ByVal obj As Object) As Boolean
Return Object.Equals(obj, Me)
End Function
The problem I find trying to reproduce this behavior with a module, is what I should use to fill the interrogant argument in the example below, since I can't use Me, the module name, or a constructor, I understand it, but what I need to use then?.
Module TestModule
<EditorBrowsable(EditorBrowsableState.Never)>
Public Function Equals(ByVal obj As Object) As Boolean
Return Object.Equals(obj, ?)
End Function
End Module