Easier legacy unit testing with TypeMock.NET
"For example, it allows one to "Mock" a real class, not just an interface. It goes further by letting you "Mock" a type's static methods and essentially take over whenever someone instantiates a new instance of a particular type. This would come in very handy in situations like legacy code testing."
I imagine you could use it to refactor code as well. Chop out a particular class and replace it with a mocked version to see what happens.