title: Object instances in static classes
body: <p>I am developing a web application with multiple WCF service references. Currently, each time we need to make a call to a service we do the following(as an example):</p>
  
  <pre><code>Service.ServiceClient ServiceClient = new Service.ServiceClient();
  ServiceClient.SomeMethod();
  </code></pre>
  
  <p>Would it be better to have a static class with static references to each Service and call that class instead, thereby avoiding creating a new instance of the ServiceClient object each time we want to call it?</p>
  
  <p>For example:</p>
  
  <pre><code>public static class Services
  {
      private static Service.ServiceClient _ServiceClient = new Service.ServiceClient();
      public Service.ServiceClient ServiceClient
      {
          get
          {
              return _ServiceClient;
          }
      }
  }
  </code></pre>
  
  <p>And, if doing it this way, would the line</p>
  
  <pre><code>private static Service.ServiceClient _ServiceClient = new Service.ServiceClient();
  </code></pre>
  
  <p>cause a new object to be created each time we try to call that object, or will it be the same instance of that object every time we make a call to it?</p>