title: c# Static or Non Static Class
body: <p>I have a c# windows forms mp3 player application. I have the audio files in my Resources folder and a separate "MyAudio" static class which handles all the audio related work like playing and increasing volume etc.
  From my Form, I just call the play method using: </p>
  
  <pre><code> MyAudio.Play(track);
  </code></pre>
  
  <p>In the MyAudio class, I have a WindowsMediaPlayer object declared as:</p>
  
  <pre><code> private static WindowsMediaPlayer obj=new WindowsMediaPlayer();
  </code></pre>
  
  <p>My Question is, in terms of efficiency and less memory usage, is it better to declare MyAudio class as static or non static? Is it wise to create a Object of the MyAudio class in form and then call the methods or directly call using class Name?
  Also is it good practice to declare the instance variables as static?</p>