An Obfuscator is the business of shrouding the facts. It is not encryption, but in the context of .NET code, it might be better. Although encryption can make your assembly completely unreadable, this methodology suffered from a classic encryption flaw, it needed to keep the decryption-key with the encrypted data. So, an automated utility could be created to decrypt the code and put it out to disk. Once that happens the fully unencrypted, unobfuscated code is in clear view.
[CUT]
Want to try obfuscation...
Fire up Visual Studio, click on the tools menu and select Dotfuscator Community Edition.
Dotfuscator is available in three editions and you can learn more about the differences here.