title: Can I stop service reference generating ArrayOfString instead of string[]?
body: <p>I have a web method with a signature like this:</p>
  
  <pre><code>public string[] ToUpper(string[] values)
  </code></pre>
  
  <p>I am using the 'Add Service reference' in Visual Studio 2010 to generate a reference to my service. Unfortunately, this process creates a proxy class called 'ArrayOfString' and uses this type instead of the expected 'string[]' type. The generated async service call signature ends up looking like this:</p>
  
  <pre><code>public void ToUpperAsync(Demo.ServiceReference.ArrayOfString values) { }
  public void ToUpperAsync(Demo.ServiceReference.ArrayOfString values, object userState) { }
  </code></pre>
  
  <p>I have tried all the options of the 'Collection' drop down on the config service reference form and it doesn't seem the make a difference.</p>
  
  <p>This was working previously, but for some reason it suddenly stopped working, perhaps after removing another web method from the service.</p>
  
  <p>How do I get the generated service reference class to use the string[] type instead of a generated ArrayOfString type? Any help on this would be greatly appreciated.</p>
  
  <p><strong>EDIT:</strong>
  As @Oleg suggests, I am using ASMX web services. </p>