EDIT: I just realized that I misunderstood the question. Actually, the question is not related to the purpose of the interface for the object at runtime, but rather for later names such as bindings.
I will leave the answer as a Community Wiki if someone else has the same misconception.
This is usually called Interface Injection and is on the wish list for both the CLI and the JVM as long as they exist.
Especially people who write implementations for programming languages that were not originally intended for the CLI or JVM, such as JRuby, XRuby, Ruby.NET, IronRuby, IronPython, Jython, Rhino, IronJS, etc., have this function on their wish list, because this means that they no longer need to maintain a parallel type hierarchy and marshal objects between them.
However, they do not seem to be on the horizon any time soon, or even at all, although for the JVM there is at least a specification of straw with an accompanying partial prototype implementation for the Da Vinci machine.
source share