<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Tool to allow inline IL in C# / VB.Net</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx</link><description>C# doesn’t support inline IL. As an experiment, I wrote a post-compiler tool that allows primitive IL inlining for C# / VB.Net (or any .net language). (My main goal here was I actually wanted to try out fxcop and needed some pet project to do it with</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>MSIL Code 編輯器</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#377850</link><pubDate>Tue, 22 Feb 2005 09:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:377850</guid><dc:creator>歪歪凍的技術網誌</dc:creator><description>你覺得目前C#/VB.Net的能力有限，想發揮.Net平台上100%的威力，或是你單純是個練功狂，就是想探索.Net底層機制，那麼 Microsoft Intermediate Language (MSIL)將是你最好的選擇。&amp;lt;br&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;a href=&amp;quot;http://www.techblog.idv.tw/Blog/zion/archive/3782.aspx&amp;quot;&amp;gt;繼續閱讀...&amp;lt;/a&amp;gt;</description></item><item><title>インライン IL for C# / VB ?</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#377855</link><pubDate>Tue, 22 Feb 2005 09:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:377855</guid><dc:creator>河端善博の .TEXT でウェブログ</dc:creator><description>インライン IL for C# / VB ?</description></item><item><title>re: Tool to allow inline IL in C# / VB.Net</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#377917</link><pubDate>Tue, 22 Feb 2005 13:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:377917</guid><dc:creator>Jamie Cansdale</dc:creator><description>Hi Mike,&lt;br&gt;&lt;br&gt;This is great!  I've been wondering about how to write methods that contain pure IL.  The problem would be if the method returns as value, the C# code wouldn't compile.  One possibility would be to put in a throw as a placeholder for the IL.  It would throw a know exception such as 'IL' below.&lt;br&gt;&lt;br&gt;&lt;br&gt;using InlineIL;&lt;br&gt;using System;&lt;br&gt;&lt;br&gt;public class HelloWorld&lt;br&gt;{&lt;br&gt;    public static void Main()&lt;br&gt;    {&lt;br&gt;        Console.WriteLine(Message);&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    public static string Message&lt;br&gt;    {&lt;br&gt;        get&lt;br&gt;        {&lt;br&gt;            throw new IL();&lt;br&gt;#if IL&lt;br&gt;            ldstr      &amp;quot;Hello, World!&amp;quot;&lt;br&gt;            stloc.0&lt;br&gt;            ldloc.0&lt;br&gt;            ret&lt;br&gt;#endif&lt;br&gt;        }&lt;br&gt;    }&lt;br&gt;}&lt;br&gt;&lt;br&gt;I've been thinking about using .NET Reflector to round trip to something a like this.  The decompiled C# would appear as comments next to the inline IL.  This would make debugging IL a lot more pleasant!&lt;br&gt;&lt;br&gt;Thanks, Jamie.</description></item><item><title>re: Tool to allow inline IL in C# / VB.Net</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#377935</link><pubDate>Tue, 22 Feb 2005 14:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:377935</guid><dc:creator>RichB</dc:creator><description>&amp;gt; I think it would also be cool if there was an &lt;br&gt;&amp;gt; IL codedom that allowed you to easily load, &lt;br&gt;&amp;gt; manipulate, and save assemblies at the il level&lt;br&gt;&lt;br&gt;&lt;a target="_new" href="http://www.citi.qut.edu.au/members/research_areas/plas/projects/cp_files/pefile.jsp"&gt;http://www.citi.qut.edu.au/members/research_areas/plas/projects/cp_files/pefile.jsp&lt;/a&gt;&lt;br&gt;&lt;a target="_new" href="http://svn.myrealbox.com/viewcvs/trunk/cecil/lib/"&gt;http://svn.myrealbox.com/viewcvs/trunk/cecil/lib/&lt;/a&gt;&lt;br&gt;</description></item><item><title>re: Tool to allow inline IL in C# / VB.Net</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#378009</link><pubDate>Tue, 22 Feb 2005 17:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:378009</guid><dc:creator>Michael Giagnocavo</dc:creator><description>This is so cool. This is a useful little utility if you often write programs in C# and want to deal with lower-level constructs.</description></item><item><title>re: Tool to allow inline IL in C# / VB.Net</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#378025</link><pubDate>Tue, 22 Feb 2005 18:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:378025</guid><dc:creator>Mike Stall</dc:creator><description>Jamie -&lt;br&gt;I'd suggest you write Message.Get() as:&lt;br&gt;{&lt;br&gt;    string x = null;&lt;br&gt;#if IL&lt;br&gt;    ldstr &amp;quot;Hello, World!&amp;quot; &lt;br&gt;    stloc.x &lt;br&gt;#endif    &lt;br&gt;    return x&lt;br&gt;}&lt;br&gt;That would cooperate with the C# anayslis much better. Also, the throw() statement in your example will still compile, thus making the IL snippet dead code.</description></item><item><title>Round-Tripping: didattica, utilit</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#378029</link><pubDate>Tue, 22 Feb 2005 18:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:378029</guid><dc:creator>Claudio Brotto</dc:creator><description /></item><item><title>re: Tool to allow inline IL in C# / VB.Net</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#378035</link><pubDate>Tue, 22 Feb 2005 18:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:378035</guid><dc:creator>Mike Stall</dc:creator><description>Can anybody translate the first two comments (the ones that aren't in english)?&lt;br&gt;&lt;br&gt;Rich - thanks for the links. The first one (pefile.jsp) appears to be just a writer, which means you couldn't read in an IL document and manipulate it. &lt;br&gt;&lt;br&gt;Michael - Glad you like it! Do you have any examples in mind where it's useful to &amp;quot;deal with lower-level constructs&amp;quot;?</description></item><item><title>re: Tool to allow inline IL in C# / VB.Net</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#378038</link><pubDate>Tue, 22 Feb 2005 18:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:378038</guid><dc:creator>Claudio Brotto</dc:creator><description>Very interesting indeed !&lt;br&gt;Thanks.&lt;br&gt;</description></item><item><title>re: Tool to allow inline IL in C# / VB.Net</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#378046</link><pubDate>Tue, 22 Feb 2005 18:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:378046</guid><dc:creator>smidgeonsoft</dc:creator><description>This is really cool!  I can't wait to see the updates.  It seems that the stuff you are blogging about only appears here which is a shame -- is there any wider publication planned (MSDN, CodeProject, etc)?</description></item><item><title>re: Tool to allow inline IL in C# / VB.Net</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#378050</link><pubDate>Tue, 22 Feb 2005 18:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:378050</guid><dc:creator>Robert Pickering</dc:creator><description>&amp;gt; I think it would also be cool if there was an &lt;br&gt;&amp;gt; IL codedom that allowed you to easily load, &lt;br&gt;&amp;gt; manipulate, and save assemblies at the il level &lt;br&gt;&lt;br&gt;F#/AbsIl provide this sort of facility as well:&lt;br&gt;&lt;a target="_new" href="http://research.microsoft.com/projects/ilx/absil.aspx"&gt;http://research.microsoft.com/projects/ilx/absil.aspx&lt;/a&gt;&lt;br&gt;&lt;br&gt;The F# compiler also lets you inline IL.</description></item><item><title>re: Tool to allow inline IL in C# / VB.Net</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#378124</link><pubDate>Tue, 22 Feb 2005 20:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:378124</guid><dc:creator>Danny Thorpe</dc:creator><description>Mike,&lt;br&gt;&lt;br&gt;The first comment is a trackback to a blog describing an &amp;quot;ILIDE&amp;quot; project.  Semi-spammish.&lt;br&gt;&lt;br&gt;The second link is a trackback to a blog that summarizes your inline technique in Japanese.  &lt;br&gt;&lt;br&gt;-Danny</description></item><item><title>re: Tool to allow inline IL in C# / VB.Net</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#378179</link><pubDate>Tue, 22 Feb 2005 21:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:378179</guid><dc:creator>Mike Stall</dc:creator><description>** Update ** I added the source to the archive (program.cs). &lt;br&gt;&lt;br&gt;Danny - thanks for the translation.&lt;br&gt;Robert - thanks for the link. Abstract IL sounds exactly like what would be good here.&lt;br&gt;Russ (smidgeonsoft) - There's not really any wider publications planned. I'll think about that more.</description></item><item><title>Microsoft Intermediate Language inline benutzen</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#378183</link><pubDate>Tue, 22 Feb 2005 21:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:378183</guid><dc:creator>schrankmonster blog</dc:creator><description /></item><item><title>re: Tool to allow inline IL in C# / VB.Net</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#379252</link><pubDate>Thu, 24 Feb 2005 02:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:379252</guid><dc:creator>Shawn</dc:creator><description>Eden Li, who interned on the CLR team this summer wrote an IL CodeDOM provider as part of his intern project.  You can download it on the MSDN BCL site (&lt;a target="_new" href="http://msdn.microsoft.com/netframework/programming/bcl/default.aspx"&gt;http://msdn.microsoft.com/netframework/programming/bcl/default.aspx&lt;/a&gt;), its called the MSIL Code Provider.&lt;br&gt;&lt;br&gt;-Shawn</description></item><item><title>Lockdown classes implemented!</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#381303</link><pubDate>Mon, 28 Feb 2005 00:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:381303</guid><dc:creator>James Thurley</dc:creator><description>Wow - I'm blown away by how easy it is to extend the .NET framework. It allowed me to do an implementation...</description></item><item><title>re: Tool to allow inline IL in C# / VB.Net</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#383660</link><pubDate>Wed, 02 Mar 2005 20:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:383660</guid><dc:creator>Yaron Golan</dc:creator><description>Okay, what about an integrated post-compiler for VSIDE?&lt;br&gt;Something that allows you to add methods, and others to your class?</description></item><item><title>re: Tool to allow inline IL in C# / VB.Net</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#383801</link><pubDate>Wed, 02 Mar 2005 22:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:383801</guid><dc:creator>Mike Stall</dc:creator><description>Yaron - you're welcome to experiment with this. VS's IDE does expose a post-build step that you could hook additional steps (such as a modified version of this tool) into. &lt;br&gt;&lt;br&gt;</description></item><item><title>IL inlining ... un sogno che diventa realt</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#403265</link><pubDate>Tue, 29 Mar 2005 13:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:403265</guid><dc:creator>Web Log di Raffaele Rialdi</dc:creator><description /></item><item><title>re: Tool to allow inline IL in C# / VB.Net</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#418579</link><pubDate>Tue, 17 May 2005 13:27:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:418579</guid><dc:creator>Qflash</dc:creator><description>RePost:&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://www.yeyan.cn/Programming/CsharpVBNetInline.aspx"&gt;http://www.yeyan.cn/Programming/CsharpVBNetInline.aspx&lt;/a&gt;</description></item><item><title>Inlining IL</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#435195</link><pubDate>Mon, 04 Jul 2005 07:02:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:435195</guid><dc:creator>Public Class GeoffAppleby</dc:creator><description>With all my playing with and learning about IL lately, I've been thinking it'd be pretty cool if I could...</description></item><item><title>Inline IL for C# and VB</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#436570</link><pubDate>Thu, 07 Jul 2005 22:22:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:436570</guid><dc:creator>DevPrime</dc:creator><description>For you IL geeks out there, check out this MSDN article.&lt;br&gt;Thanks to my buddy Jay for digging up the link...</description></item><item><title>Inline IL for C# and VB</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#436824</link><pubDate>Fri, 08 Jul 2005 17:18:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:436824</guid><dc:creator>DevPrime</dc:creator><description>For you IL geeks out there, check out this MSDN blog.&lt;br&gt;Thanks to my buddy Jay for digging up the link...</description></item><item><title>Problem with .maxstack in IL-roundtripping tools </title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#441091</link><pubDate>Wed, 20 Jul 2005 22:56:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:441091</guid><dc:creator>Mike Stall's .NET Debugging Blog</dc:creator><description>I previously posted a tool to allow inline IL in C# / VB.Net. &amp;amp;amp;nbsp;&lt;br&gt;At the IL level, the CLR needs...</description></item><item><title>Inlining IL link</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#443271</link><pubDate>Tue, 26 Jul 2005 07:05:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:443271</guid><dc:creator>Jeremy Kuhne's Blog</dc:creator><description>A tool for inlining IL in C#/VB.&amp;amp;amp;nbsp; (Essentially.)</description></item><item><title>Inline IL</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#443319</link><pubDate>Tue, 26 Jul 2005 10:38:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:443319</guid><dc:creator>Dirks WebLog</dc:creator><description>Gerade bin ich &amp;amp;#252;ber diesen Blogeintrag&amp;amp;amp;nbsp;gestolpert, der zeigt, wie man in VB.NET und C# Inline IL...</description></item><item><title>Inline IL</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#443364</link><pubDate>Tue, 26 Jul 2005 15:56:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:443364</guid><dc:creator>Dirks WebLog</dc:creator><description>Gerade bin ich &amp;amp;#252;ber diesen Blogeintrag&amp;amp;amp;nbsp;gestolpert, der zeigt, wie man in VB.NET und C# Inline IL...</description></item><item><title /><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#614081</link><pubDate>Fri, 02 Jun 2006 11:54:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:614081</guid><dc:creator>Manuel Abadia's ASP.NET stuff</dc:creator><description>Some MSIL low level tools that could be useful, especially Deblector.&lt;br&gt;&amp;amp;lt;br /&amp;amp;gt;&amp;amp;lt;br</description></item><item><title>Round-Tripping: didattica, utilit&amp;#224; e fantasia</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#1542091</link><pubDate>Sat, 27 Jan 2007 13:32:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1542091</guid><dc:creator>Claudio Brotto</dc:creator><description>&lt;p&gt;Il round-tripping , nell'accezione .NET del termine, &amp;#232; una tecnica in base alla quale viene modificato&lt;/p&gt;
</description></item><item><title>.NET Tips &amp; Tricks </title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#3272948</link><pubDate>Wed, 13 Jun 2007 22:07:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3272948</guid><dc:creator>Michael's Coding Den</dc:creator><description>&lt;p&gt;Last update: June 13 , 2007 Document version 0.6 Preface If you have something to add, or want to take&lt;/p&gt;
</description></item><item><title>.NET Tips &amp; Tricks: Common</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#3273340</link><pubDate>Wed, 13 Jun 2007 22:45:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3273340</guid><dc:creator>Michael's Coding Den</dc:creator><description>&lt;p&gt;Common INFO: &amp;#183; const is &amp;amp;quot;baked&amp;amp;quot; into the assembly. If you have to change the const value in&lt;/p&gt;</description></item><item><title>.NET Tips &amp; Tricks: Common</title><link>http://blogs.msdn.com/jmstall/archive/2005/02/21/377806.aspx#3273763</link><pubDate>Wed, 13 Jun 2007 23:14:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3273763</guid><dc:creator>Michael's Coding Den</dc:creator><description>&lt;p&gt;This section describes the common .NET tips which don&amp;amp;#39;t relates to the specific category. INFO:&lt;/p&gt;
</description></item></channel></rss>