<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>Manuel Abadia's ASP.NET stuff - Linq</title>
    <link>http://www.manuelabadia.com/blog/</link>
    <description />
    <language>en-us</language>
    <copyright>Manuel Abadia</copyright>
    <lastBuildDate>Tue, 31 Aug 2010 16:27:46 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>blogcomments@manuelabadia.com</managingEditor>
    <webMaster>blogcomments@manuelabadia.com</webMaster>
    <item>
      <trackback:ping>http://www.manuelabadia.com/blog/Trackback.aspx?guid=04ac6c0f-dde0-4960-ba68-d5e8fbf09148</trackback:ping>
      <pingback:server>http://www.manuelabadia.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.manuelabadia.com/blog/PermaLink,guid,04ac6c0f-dde0-4960-ba68-d5e8fbf09148.aspx</pingback:target>
      <dc:creator>Your DisplayName here!</dc:creator>
      <wfw:comment>http://www.manuelabadia.com/blog/CommentView,guid,04ac6c0f-dde0-4960-ba68-d5e8fbf09148.aspx</wfw:comment>
      <wfw:commentRss>http://www.manuelabadia.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=04ac6c0f-dde0-4960-ba68-d5e8fbf09148</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I have finally updated the Linq Expressions DebuggerVisualizer to work in VS 2010.
</p>
        <p>
There were a lot of new kind of Expressions introduced so I added support for them
too.
</p>
        <p>
You can see it in action with data from the MSDN samples for the SwitchExpression
class and the TryExpression class.
</p>
        <p>
          <img border="0" src="http://www.manuelabadia.com/blog/content/binary/linqdebviz1.PNG" />
          <br />
          <img border="0" src="http://www.manuelabadia.com/blog/content/binary/linqdebviz2.PNG" />
          <br />
        </p>
        <p>
You can download the Visualizer <a href="http://www.manuelabadia.com/blog/PermaLink,guid,9160035f-490f-46bd-ab55-516b5c7545af.aspx">here</a></p>
        <img width="0" height="0" src="http://www.manuelabadia.com/blog/aggbug.ashx?id=04ac6c0f-dde0-4960-ba68-d5e8fbf09148" />
      </body>
      <title>Linq Expressions DebuggerVisualizer updated to work in VS2010</title>
      <guid isPermaLink="false">http://www.manuelabadia.com/blog/PermaLink,guid,04ac6c0f-dde0-4960-ba68-d5e8fbf09148.aspx</guid>
      <link>http://www.manuelabadia.com/blog/PermaLink,guid,04ac6c0f-dde0-4960-ba68-d5e8fbf09148.aspx</link>
      <pubDate>Tue, 31 Aug 2010 16:27:46 GMT</pubDate>
      <description>&lt;p&gt;
I have finally updated the Linq Expressions DebuggerVisualizer to work in VS 2010.
&lt;/p&gt;
&lt;p&gt;
There were a lot of new kind of Expressions introduced so I added support for them
too.
&lt;/p&gt;
&lt;p&gt;
You can see it in action with data from the MSDN samples for the SwitchExpression
class and the TryExpression class.
&lt;/p&gt;
&lt;p&gt;
&lt;img border="0" src="http://www.manuelabadia.com/blog/content/binary/linqdebviz1.PNG"&gt;
&lt;br /&gt;
&lt;img border="0" src="http://www.manuelabadia.com/blog/content/binary/linqdebviz2.PNG"&gt;
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
You can download the Visualizer &lt;a href="http://www.manuelabadia.com/blog/PermaLink,guid,9160035f-490f-46bd-ab55-516b5c7545af.aspx"&gt;here&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.manuelabadia.com/blog/aggbug.ashx?id=04ac6c0f-dde0-4960-ba68-d5e8fbf09148" /&gt;</description>
      <comments>http://www.manuelabadia.com/blog/CommentView,guid,04ac6c0f-dde0-4960-ba68-d5e8fbf09148.aspx</comments>
      <category>Linq;Microsoft .NET Framework;Visual Studio</category>
    </item>
    <item>
      <trackback:ping>http://www.manuelabadia.com/blog/Trackback.aspx?guid=870abdd7-ec3d-4760-8513-287151782f1f</trackback:ping>
      <pingback:server>http://www.manuelabadia.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.manuelabadia.com/blog/PermaLink,guid,870abdd7-ec3d-4760-8513-287151782f1f.aspx</pingback:target>
      <dc:creator>Your DisplayName here!</dc:creator>
      <wfw:comment>http://www.manuelabadia.com/blog/CommentView,guid,870abdd7-ec3d-4760-8513-287151782f1f.aspx</wfw:comment>
      <wfw:commentRss>http://www.manuelabadia.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=870abdd7-ec3d-4760-8513-287151782f1f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Some time ago I created a DebuggerVisualizer for LINQ expressions. I have finally
updated the DebuggerVisualizer for Visual Studio 2008 RTM version. You can download
it <a href="http://www.manuelabadia.com/blog/PermaLink,guid,9160035f-490f-46bd-ab55-516b5c7545af.aspx">here</a>.
</p>
        <p>
The main changes are that Funclets and LiftExpressions were removed after Beta 1.
For more information check <a href="http://sgdotnet.org/blogs/chuawenching/archive/2007/09/27/Missing-FuncletExpression-and-LiftExpression-in-Visual-Studio-2008-Beta-2.aspx">this
post</a>.
</p>
        <p>
I have tested it only in a couple of expressions so let me know if you find any problem.
</p>
        <img width="0" height="0" src="http://www.manuelabadia.com/blog/aggbug.ashx?id=870abdd7-ec3d-4760-8513-287151782f1f" />
      </body>
      <title>LINQ Expressions DebuggerVisualizer Update</title>
      <guid isPermaLink="false">http://www.manuelabadia.com/blog/PermaLink,guid,870abdd7-ec3d-4760-8513-287151782f1f.aspx</guid>
      <link>http://www.manuelabadia.com/blog/PermaLink,guid,870abdd7-ec3d-4760-8513-287151782f1f.aspx</link>
      <pubDate>Sun, 13 Jan 2008 10:08:02 GMT</pubDate>
      <description>&lt;p&gt;
Some time ago I created a DebuggerVisualizer for LINQ expressions. I have finally
updated the DebuggerVisualizer for Visual Studio 2008 RTM version. You can download
it &lt;a href="http://www.manuelabadia.com/blog/PermaLink,guid,9160035f-490f-46bd-ab55-516b5c7545af.aspx"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
The main changes are that Funclets and LiftExpressions were removed after Beta 1.
For more information check &lt;a href="http://sgdotnet.org/blogs/chuawenching/archive/2007/09/27/Missing-FuncletExpression-and-LiftExpression-in-Visual-Studio-2008-Beta-2.aspx"&gt;this
post&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
I have tested it only in a couple of expressions so let me know if you find any problem.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.manuelabadia.com/blog/aggbug.ashx?id=870abdd7-ec3d-4760-8513-287151782f1f" /&gt;</description>
      <comments>http://www.manuelabadia.com/blog/CommentView,guid,870abdd7-ec3d-4760-8513-287151782f1f.aspx</comments>
      <category>Linq;Microsoft .NET Framework;Visual Studio</category>
    </item>
    <item>
      <trackback:ping>http://www.manuelabadia.com/blog/Trackback.aspx?guid=9160035f-490f-46bd-ab55-516b5c7545af</trackback:ping>
      <pingback:server>http://www.manuelabadia.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.manuelabadia.com/blog/PermaLink,guid,9160035f-490f-46bd-ab55-516b5c7545af.aspx</pingback:target>
      <dc:creator>Your DisplayName here!</dc:creator>
      <wfw:comment>http://www.manuelabadia.com/blog/CommentView,guid,9160035f-490f-46bd-ab55-516b5c7545af.aspx</wfw:comment>
      <wfw:commentRss>http://www.manuelabadia.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=9160035f-490f-46bd-ab55-516b5c7545af</wfw:commentRss>
      <slash:comments>11</slash:comments>
      <title>Linq Expressions DebuggerVisualizer</title>
      <guid isPermaLink="false">http://www.manuelabadia.com/blog/PermaLink,guid,9160035f-490f-46bd-ab55-516b5c7545af.aspx</guid>
      <link>http://www.manuelabadia.com/blog/PermaLink,guid,9160035f-490f-46bd-ab55-516b5c7545af.aspx</link>
      <pubDate>Tue, 24 Apr 2007 12:05:10 GMT</pubDate>
      <description>&lt;p&gt;
I have been playing a bit with Visual Studio "Orcas" Beta 1 and I really wanted to
see the Expression Trees generated by Linq, so it was a good chance to play with my &lt;a href="http://www.manuelabadia.com/products/StructsViz_features.aspx"&gt;StructsViz
component&lt;/a&gt;. In a couple of hours I got this DebuggerVisualizer working. 
&lt;/p&gt;
&lt;p&gt;
For the following expressions:
&lt;/p&gt;
&lt;p style="FONT-SIZE: 10pt; BACKGROUND: white; MARGIN: 0px; COLOR: black; FONT-FAMILY: Courier New"&gt;
&lt;span style="COLOR: #2b91af"&gt;Expression&lt;/span&gt;&lt;&lt;SPAN style="COLOR: #2b91af"&gt;Func&gt;&lt;&lt;SPAN style="COLOR: #2b91af"&gt;Person&gt;, &lt;span style="COLOR: blue"&gt;bool&lt;/span&gt;&gt;&gt;
expr1;
&lt;/p&gt;
&lt;p dir=ltr style="FONT-SIZE: 10pt; BACKGROUND: white; MARGIN: 0px; COLOR: black; FONT-FAMILY: Courier New"&gt;
&lt;span style="COLOR: #2b91af"&gt;Expression&lt;/span&gt;&lt;&lt;SPAN style="COLOR: #2b91af"&gt;Func&gt;&lt;&lt;SPAN style="COLOR: blue"&gt;int&gt;, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;bool&lt;/span&gt;&gt;&gt;
expr2;
&lt;/p&gt;
&lt;p dir=ltr style="FONT-SIZE: 10pt; BACKGROUND: white; MARGIN: 0px; COLOR: black; FONT-FAMILY: Courier New"&gt;
&lt;/p&gt;
&lt;p dir=ltr style="FONT-SIZE: 10pt; BACKGROUND: white; MARGIN: 0px; COLOR: black; FONT-FAMILY: Courier New"&gt;
expr1 = p =&gt; p.Name == &lt;span style="COLOR: #a31515"&gt;"Manu"&lt;/span&gt;;
&lt;/p&gt;
&lt;p dir=ltr style="FONT-SIZE: 10pt; BACKGROUND: white; MARGIN: 0px; COLOR: black; FONT-FAMILY: Courier New"&gt;&lt;= 0) || (str.Length &gt;
expr2 = (idx, str) =&gt; !((idx 2));
&lt;/p&gt;
&lt;!--EndFragment--&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
The visualizer renders the following:
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.manuelabadia.com/blog/content/binary/expr1.PNG" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.manuelabadia.com/blog/content/binary/expr2.PNG" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
The nodes in red are terminal expressions (constants or parameters), the nodes in
green are objects used by the expression subtree, and the other expression nodes are
blue. The properties and fields for each node are loaded on demand and can be inspected
when the node is expanded.
&lt;/p&gt;
&lt;p&gt;
As expression trees are used to do really cool things I have made a free special version
of StructsViz with only the functionaly needed to display expression trees. Due to
the crappy NVidia drivers for Vista I haven't been able to test it extensively (as
my hard disk stops from time to time, specially with Virtual PC) so let me know if
there is any problem. As always, feedback is welcome.
&lt;/p&gt;
&lt;p&gt;
To read more about Linq take a look at &lt;a href="http://msdn2.microsoft.com/en-us/library/aa479865.aspx"&gt;this
article&lt;/a&gt; or at &lt;a href="http://weblogs.asp.net/scottgu"&gt;ScottGu's excellent posts
about Linq&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
To use the DebuggerVisualizer, create a Visualizers folder inside C:\Documents and
Settings\Administrator\My Documents\Visual Studio 2008, and copy the LinqExpressionVisualizer.dll
there.
&lt;/p&gt;
&lt;p&gt;
Another option is to copy the visualizer to C:\Program FIles\Microsoft Visual Studio
9.0\Common7\Packages\Debugger\Visualizers
&lt;/p&gt;
&lt;p&gt;
Please do not distribute the visualizer from your web page. Link to this page instead.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Update 13/01/2008&lt;/strong&gt;: 
&lt;/p&gt;
&lt;p&gt;
Modified it to run on VS 2008 RTM.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.manuelabadia.com/blog/content/binary/LinqExpressionDebuggerVisualizer.zip"&gt;LinqExpressionDebuggerVisualizer.zip
(33.4 KB)&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Update 31/08/2010&lt;/strong&gt;: 
&lt;/p&gt;
&lt;p&gt;
Modified it to run on VS 2010 RTM.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.manuelabadia.com/blog/content/binary/LinqExpressionVisualizer_VS2010.zip"&gt;LinqExpressionVisualizer_VS2010.zip
(41,37 KB)&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.manuelabadia.com/blog/aggbug.ashx?id=9160035f-490f-46bd-ab55-516b5c7545af" /&gt;</description>
      <comments>http://www.manuelabadia.com/blog/CommentView,guid,9160035f-490f-46bd-ab55-516b5c7545af.aspx</comments>
      <category>Linq;Microsoft .NET Framework</category>
    </item>
  </channel>
</rss>