Using Visual Studio 2013 and TFS I did a lot of work before checking in. Then I accidentally clicked undo pending changes... thinking it would only apply to one of the proje
This happened to me today, but it was after I overwrote local changes with an unshelved version. I tried decompiling the dll, but it was too old and didn't have the changes. I finally found the changes in the TFS temporary diff files in "AppData\Local\Temp\TFSTemp". The files all had names like "vctmp4316_370233.cs", but they were all there and thankfully I was able to recover my changes.
Another thing you might try if you have MSTest unit tests is looking for dlls in the solution "TestResults" folder.
The last step is to setup some sort of backup system so this doesn't happen again.