title: Progress<T> doesn't have Report function
body: <p>I have windows form app this is my code:</p>
  
  <pre><code>  private async void btnGo_Click(object sender, EventArgs e)
      {
          Progress&lt;string&gt; labelVal = new Progress&lt;string&gt;(a =&gt; labelValue.Text = a);
          Progress&lt;int&gt; progressPercentage = new Progress&lt;int&gt;(b =&gt; progressBar1.Value = b);
  
         // MakeActionAsync(labelVal, progressPercentage);
          await Task.Factory.StartNew(()=&gt;MakeActionAsync(labelVal,progressPercentage));
          MessageBox.Show("Action completed");
      }
  
      private void MakeActionAsync(Progress&lt;string&gt; labelVal, Progress&lt;int&gt; progressPercentage)
      {
              int numberOfIterations=1000;
              for(int i=0;i&lt;numberOfIterations;i++)
              {
                  Thread.Sleep(10);
                  labelVal.Report(i.ToString());
                  progressPercentage.Report(i*100/numberOfIterations+1);
              }
      }
  </code></pre>
  
  <p>I get compilation error that "System.Progress' does not contain a definition for 'Report' and no extension method 'Report' accepting a first argument of type 'System.Progress' could be found (are you missing a using directive or an assembly reference?)"</p>
  
  <p><strong>but</strong>
  If you look at Progress class:</p>
  
  <pre><code>public class Progress&lt;T&gt; : IProgress&lt;T&gt;
  </code></pre>
  
  <p>and the interface IProgress has function Report:</p>
  
  <pre><code>  public interface IProgress&lt;in T&gt;
  {
      // Summary:
      //     Reports a progress update.
      //
      // Parameters:
      //   value:
      //     The value of the updated progress.
      void Report(T value);
  }
  </code></pre>
  
  <p><strong>What am I missing?</strong> </p>