title: How can I set LINQ SelectMany projection via Func parameter?
body: <p>I have a function which returns a list of property values from a collection:</p>
  
  <pre><code>    public static List&lt;string&gt; GetSpeakerList()
      {
          var Videos = QueryVideos(HttpContext.Current);
          return Videos.Where(v =&gt; v.Type == "exampleType"
              .SelectMany(v =&gt; v.SpeakerName)
              .Distinct()
              .OrderBy(s =&gt; s)
              .ToList();
      }
  </code></pre>
  
  <p>I'd like to have a generic version which will let me determine which field I'd like projected - say instead of SpeakerName I'd like to allow selecting Video.Length or Video.Type.</p>
  
  <p>I understand that SelectMany takes a Func, so what's the best way to make the Func configurable to allow passing it as a parameter into this function?</p>