LINQ Design Guidelines

Mircea, a program manager on my team, has worked on development of design guidelines for LINQ related features. The guidelines were reviewed internally and are now available on Mitch’s blog. We might still iterate on them a bit, but quite soon I plan to incorporate them into Framework Design Guidelines manuscript, so if you have feedback, it’s time to send it our way! 🙂


Comments (7)

  1. Keith Patrick says:

    Thank you for just referring to lambda expressions as a shorthand for anonymous delegates. It drove me nuts trying to grasp the concept early on due to all the space dedicated to the origins in calculus (it served to confuse more than inform). In fact, that goes for a lot of these guidelines; I would have saved a bit of time/frustration if these were around a few months ago rather than the long drawn out MSDN articles introducing LINQ.  Straight and to the point is great (lamdbas are delegates, LINQ is a bunch of extension methods, the nature of Expression<>.

    One thing, though: for us language purists, could you include alternate method call versions of sample code instead of just the language extensions? I find the not-quite-SQL format of the LI part to be more confusing than helpful due to the odd structuring of the SELECTs

  2. Don’t seem to be able to comment against that post so I’ll post here…

    Just wondering whether there should be explicit treatment of extension methods against enumerations in the guidelines. It seems to me that it will be quite common to see something like:

    public enum MyEnum {

       ValueOne, ValueTwo


    public static class MyEnumExtensions {

       public static string ToHumanReadableString(this MyEnum myEnum) {




    According to the guidelines, this is bad because the extensions are in the same namespace as the enumeration. But is it really such a bad thing for enumerations? They’re a special case, IMO – these members cannot be added directly to them.

  3. Sam Gentile says:

    &#160; Comments and trackbacks are back on after a futile battle with spam. I&#39;ll see how long it

  4. You know that I&#39;m a big fan of framework and library design so also have been a big fan of Framework

  5. [ Nacsa Sándor , 2009. január 19. – február 5.] Ez a Team System változat fejlett eszközrendszert kínál