I used piece of software a few years ago that allowed limited editing of the generated code directly within the tool itself, but when I say 'limited', I really mean limited. In fact, this feature was actually removed from more
recent releases of this software. The old version that had this feature is
no longer available, but it's still a decent and free .NET decompiler so if you want to check it out, it's called DotNet Resolver.
There's also the Reflexil plugin for Reflector, which has already been mentioned, but it's also pretty unreliable and limited.
If you really want to get things done, however, I'd recommend using the ILDASM and ILASM tools which are installed with Visual Studio.
I know you want to be able to just edit the high level code, but that's just not very
feasible. You can use Reflector to export the source code generated from a
disassembled .NET application as a project, but then you have errors, missing
dependencies, and the like to deal with.
With ILDASM and ILASM you would be editing the MSIL directly, but it's really the best way to go about modifying a .NET application. MSIL is actually pretty
simple and you won't have to deal with the source code produced by tools like
Reflector, which are often riddled with errors.
Moreover, you generally won't have to worry about obfuscation. In 99% of cases you will always be able to disassemble .NET applications down to MSIL
and then reassemble them without any issue.
There are plenty of resources online to aid you with both editing and understanding MSIL if you're not familiar with it. Good luck!