What you need to do is create a class in different namespaces so that two different classes are actually declared. Mark one in the Transaction namespace as deprecated and make it a valid proxy for the real class so you don't duplicate the implementation.
Namespace Transaction <Obsolete> _ Public Class Signer Private m_Implementation As Document.Signer Public Sub New() m_Implementation = new Document.Signer() End Public Sub DoSomething() m_Implementation.DoSomething() End Sub End Class End Namespace Namespace Document Public Class Signer Public Sub New() End Public Sub DoSomething() End Sub End Class End Namespace
source share