title: How do I change the outer object's name using WCF?
body: <p>I'm using a WCF .svc class like so:</p>
  
  <pre><code>[DataContract] public class FunInfo { ... }
  [OperationContract, WebInvoke(BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json)]
  
  public FunInfo SetInformation(int a, int b) { ... }
  </code></pre>
  
  <p>When I get my JSON back, it looks like this:</p>
  
  <pre><code>{"SetInformationResult":{ ... } }
  </code></pre>
  
  <p>My question is: Where did SetInformationResult come from, and can I control it's name without renaming my class?  To "d", for instance, to mimic what the ScriptService does?</p>
  
  <p>EDIT: For posterity, relevant links I've found since: <a href="https://stackoverflow.com/questions/172265/how-can-i-control-the-name-of-generic-wcf-return-types">How can I control the name of generic WCF return types?</a></p>