title: Array.ForEach cannot infer array element type from usage
body: <pre><code>public class MyType
  {
      public int SomeProperty { get; set; }
  }
  
  public class CustomArray
  {
      public MyType this[int index]
      {
          //some code
      }
  }
  
  var intList = new List&lt;int&gt;();
  var arr = new CustomArray();
  Array.ForEach(arr, x =&gt; intList.Add(x.MyProperty));
  </code></pre>
  
  <p>This will not compile saying:</p>
  
  <blockquote>
    <p>The type arguments for method void System.Array.ForEach(T[],
    Action) cannot be inferred from the usage.</p>
  </blockquote>
  
  <p>How can that be?</p>