title: How to implement MyMethod() with Format("blah {0}", someValue) signature like string.format
body: <p>String.Format and StringBuilder (via the AppendFormat method) allow callers to pump values into a string they have prepared, e.g: </p>
  
  <pre><code>string temp = string.Format("Item {0} of {1}, Record Id: {2} started...",
    itemCounter.ToString(),
    totalItemsToProcess.ToString(),
    myRecord.RecordId);
  MyMethod(temp);
  </code></pre>
  
  <p>But rather than build a string and pass that into "MyMethod()" I'd rather have an overload that people called like this: </p>
  
  <pre><code>MyMethod("Item {0} of {1}, Record Id: {2} started...",
    itemCounter.ToString(),
    totalItemsToProcess.ToString(),
    myRecord.RecordId);
  </code></pre>
  
  <p>How would you implement that?
  Is there something I can leverage or do I have to write a bunch of custom code?</p>