title: Collection<T>.Sum(a => a.ushortProperty) to ulong
body: <pre><code>public class Foo
  {
      public ushort Weight { get; }
  }</code></pre>
  
  <pre><code>public class Bar&lt;T&gt; : IEnumerable where T : Foo
  {
      private Collection&lt;T&gt; _contents;
      ...
      public ulong TotalWeight { get { return _contents.Sum(a => a.Weight); } }
  }</code></pre>
  
  <p>I'm expecting the total to add up to more than the maximum value of a ushort.</p>
  
  <p>I'm getting an Intellisense error: "Ambiguous Invocation", with a list of numeric types that doesn't include ushort or ulong. I'm not sure what it wants.</p>
  
  <p>I also tried using Select (from <a href="https://stackoverflow.com/questions/5612938/sum-a-collection-of-objects-which-contain-numeric-properties-only-with-linq">this post</a>), as follows:</p>
  
  <pre><code>_contents.Select(a => a.Weight).Sum()</code></pre>
  
  <p>but Intellisense complains that it cannot resolve the Sum method and lists a bunch of candidates that also does not include ushort or ulong. Again, I'm not sure what it wants.</p>
  
  <p>I apologize if this is really newbish, I just don't understand what Intellisense is telling me.</p>