Is their a way to make it so someone can't run your VB .NET program through a decompiler and get all the source code?

I checked out 1 and I could see all the source code of a program I am currently making. From the names of things I've used to my functions, ect... so my question is.. why is it so easy for someone to look through the VB .NET source code and can you stop them?