title: When should I use public/private/static methods?
body: <p>I'm new to C#.Till this moment I used to make every global variable - public static.All my methods are public static so I can access them from other classes.</p>
  
  <p>I read on SO that the less public static methods I have,the better.So I rewrote my applications by putting all the code in one class - the form class.Now all my methods are private and there's no static method.</p>
  
  <p>My question: What should I do,keeping everything in the form class is dump in my opinion.</p>
  
  <p>When should I use public,when private and when static private/public?</p>
  
  <p>I get the public methods as a 'cons' ,because they can be decompiled,but I doubt that.My public methods can be decompiled too.What is so 'private' in a private method?</p>
  
  <p><strong>EDIT</strong>: I'm not asking how to prevent my program to be decompiled,I'm asking whether I should use static,private and public.And also : Is there are problem in putting all the code in the form class so I dont have to use public methods?</p>