<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" 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:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Channel 9 Forums - Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Forums/rss"></atom:link>
	<image>
		<url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url>
		<title>Channel 9 Forums - Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<link>http://channel9.msdn.com/Forums</link>
	</image>
	<description>Channel 9 keeps you up to date with the latest news and behind the scenes info from Microsoft that developers love to keep up with. From LINQ to SilverLight – Watch videos and hear about all the cool technologies coming and the people behind them.</description>
	<link>http://channel9.msdn.com/Forums</link>
	<language>en</language>
	<pubDate>Sat, 25 May 2013 21:21:42 GMT</pubDate>
	<lastBuildDate>Sat, 25 May 2013 21:21:42 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<c9:totalResults>28</c9:totalResults>
	<c9:pageCount>-28</c9:pageCount>
	<c9:pageSize>-1</c9:pageSize>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p>Compile Checks for;-</p>
<p>&nbsp;</p>
<p><strong>Basic Infinite Recursion Detection</strong></p>
<p>This is a example case, i do know how to code it properly.</p>
<p><pre class="brush: vb"> Public Function Factorial(ByVal x As Double ) As Double Return X * Factorial(x-1) End Sub</pre></p>
<p><strong>Result:&nbsp; (</strong>Warning / Error) No base case detected, which would result in a stack overflow.</p>
<p>&nbsp;</p>
<p><strong>Simple Infinite Loops Detection<br /></strong></p>
<p><pre class="brush: vb">Dim x As Integer Dim OutputText While x&lt;InputText.Lenght x = 0 OutputText &amp;= Chr(Asc(InputText(x)-2) x &#43;=1 End While</pre><strong></strong></p>
<p><strong>Possible Detection Rules </strong>(Partial Solution to Halting Problem)</p>
<p>No Exit While inside of while loop</p>
<p>No If statements who results affect variable x inside while loop.</p>
<p>X is set to a value &gt;= InputText.Lenght smallest possible value of 0 </p>
<p><strong>Result: </strong>(Warning / Error) Possible Infinite loop. </p>
<p>&nbsp;</p>
<p>Any other language / compiler features you like see added.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/484956#484956</link>
		<pubDate>Thu, 13 Aug 2009 16:25:04 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/484956#484956</guid>
		<dc:creator>Adam Speight</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/AdamSpeight2008/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p>Simplying the C# switch statement would be nice, the 'break' statement is redundant.</p>
<p>&nbsp;</p>
<p>But don't we have these threads all the time thesedays?</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/2c2dad47bb86405580229deb00080060#2c2dad47bb86405580229deb00080060</link>
		<pubDate>Thu, 13 Aug 2009 16:35:11 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/2c2dad47bb86405580229deb00080060#2c2dad47bb86405580229deb00080060</guid>
		<dc:creator>W3bbo</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/W3bbo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">W3bbo said:</div><div class="quoteText">
<p>Simplying the C# switch statement would be nice, the 'break' statement is redundant.</p>
<p>&nbsp;</p>
<p>But don't we have these threads all the time thesedays?</p>
</div></blockquote>
<p>Is break redundant? Does the C# switch statement support multiple cases like VB's does? Otherwise, I'd still want the power to fall down into the next case.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Select Case someFlag</p>
<p>&nbsp;&nbsp; Case specialFlag</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'some code</p>
<p>&nbsp;&nbsp; Case normalFlag, otherFlag</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'other code</p>
<p>End Select</p>
<p>&nbsp;</p>
<p>switch(someFlag)</p>
<p>{</p>
<p>&nbsp;&nbsp; case specialFlag:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //some code</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</p>
<p>&nbsp;&nbsp; case normalFlag:</p>
<p>&nbsp;&nbsp; case otherFlag:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //other code</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</p>
<p>}</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/85a9bcd339074ce4800f9deb0008008a#85a9bcd339074ce4800f9deb0008008a</link>
		<pubDate>Thu, 13 Aug 2009 17:23:06 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/85a9bcd339074ce4800f9deb0008008a#85a9bcd339074ce4800f9deb0008008a</guid>
		<dc:creator>Scott</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/spivonious/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p>.NET 4.0 will have <a href="http://msdn.microsoft.com/en-us/magazine/ee236408.aspx">
code contracts</a>, that will negate some of your issues. That and Pex will resolve a lot of these issues, that are more user error focussed features than langauge improvements
<em>per se</em></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/922971f553fd444ea8f49deb000800b0#922971f553fd444ea8f49deb000800b0</link>
		<pubDate>Thu, 13 Aug 2009 19:15:32 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/922971f553fd444ea8f49deb000800b0#922971f553fd444ea8f49deb000800b0</guid>
		<dc:creator>Vesuvius</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/vesuvius/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">spivonious said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">W3bbo said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>Is break redundant? Does the C# switch statement support multiple cases like VB's does? Otherwise, I'd still want the power to fall down into the next case.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Select Case someFlag</p>
<p>&nbsp;&nbsp; Case specialFlag</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'some code</p>
<p>&nbsp;&nbsp; Case normalFlag, otherFlag</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'other code</p>
<p>End Select</p>
<p>&nbsp;</p>
<p>switch(someFlag)</p>
<p>{</p>
<p>&nbsp;&nbsp; case specialFlag:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //some code</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</p>
<p>&nbsp;&nbsp; case normalFlag:</p>
<p>&nbsp;&nbsp; case otherFlag:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //other code</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</p>
<p>}</p>
</div></blockquote>
<p>Yes you can drop down, but I don't think I've used <em>default</em> in 5 years of C#</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/acfe8fca9617461a995b9deb000800da#acfe8fca9617461a995b9deb000800da</link>
		<pubDate>Thu, 13 Aug 2009 19:18:56 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/acfe8fca9617461a995b9deb000800da#acfe8fca9617461a995b9deb000800da</guid>
		<dc:creator>Vesuvius</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/vesuvius/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p>There are static analysis tools (that run pre-compile phase) that are programmed to find thousands of errors like that, even more that aren't really trivial. Coverity is probably the biggest vendor in this arena, and their tool supports C#.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/75f4a2a033fc4b0296199deb00080100#75f4a2a033fc4b0296199deb00080100</link>
		<pubDate>Thu, 13 Aug 2009 19:23:31 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/75f4a2a033fc4b0296199deb00080100#75f4a2a033fc4b0296199deb00080100</guid>
		<dc:creator>Bass</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Bass/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">vesuvius said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">spivonious said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>Yes you can drop down, but I don't think I've used <em>default</em> in 5 years of C#</p>
</div></blockquote>
<p>I use default: for dealing with unexpected enum values.</p>
<p>&nbsp;</p>
<p>I'd like to see the introduction of String Enums and possibly Java-style enumerations, except without the boneheadness.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/93c345a494e643bfab269deb00080128#93c345a494e643bfab269deb00080128</link>
		<pubDate>Thu, 13 Aug 2009 20:04:52 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/93c345a494e643bfab269deb00080128#93c345a494e643bfab269deb00080128</guid>
		<dc:creator>W3bbo</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/W3bbo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">W3bbo said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">vesuvius said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>I use default: for dealing with unexpected enum values.</p>
<p>&nbsp;</p>
<p>I'd like to see the introduction of String Enums and possibly Java-style enumerations, except without the boneheadness.</p>
</div></blockquote>
<p>W3bbo, can you explain why string enums would help you? I thought the whole point of enumerations was to remove the actual value from the equation.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/e8c5594d78b449bdab849deb0008014f#e8c5594d78b449bdab849deb0008014f</link>
		<pubDate>Thu, 13 Aug 2009 20:30:36 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/e8c5594d78b449bdab849deb0008014f#e8c5594d78b449bdab849deb0008014f</guid>
		<dc:creator>Scott</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/spivonious/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">W3bbo said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">vesuvius said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>I use default: for dealing with unexpected enum values.</p>
<p>&nbsp;</p>
<p>I'd like to see the introduction of String Enums and possibly Java-style enumerations, except without the boneheadness.</p>
</div></blockquote>
<p>I add that as an enumeration, i.e.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>enum Fruits{</p>
<p>Unknown = 0,</p>
<p>Apples,</p>
<p>Oranges,</p>
<p>Lemons,</p>
<p>Bananas</p>
<p>};</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/d0f6746778ff4c5eb3d09deb00080178#d0f6746778ff4c5eb3d09deb00080178</link>
		<pubDate>Thu, 13 Aug 2009 21:03:57 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/d0f6746778ff4c5eb3d09deb00080178#d0f6746778ff4c5eb3d09deb00080178</guid>
		<dc:creator>Vesuvius</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/vesuvius/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">spivonious said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">W3bbo said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>W3bbo, can you explain why string enums would help you? I thought the whole point of enumerations was to remove the actual value from the equation.</p>
</div></blockquote>
<p>String enumerations are good for things like LookupPrivilegeValue which expects a string privilege name from a known set. I use a static class filled with const string members right now.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/dadb63b6f3ec4b8b84469deb0008019f#dadb63b6f3ec4b8b84469deb0008019f</link>
		<pubDate>Thu, 13 Aug 2009 21:57:47 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/dadb63b6f3ec4b8b84469deb0008019f#dadb63b6f3ec4b8b84469deb0008019f</guid>
		<dc:creator>W3bbo</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/W3bbo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p>Extension properties in C#.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/6dfb25aed07c4bdda4be9deb000801c5#6dfb25aed07c4bdda4be9deb000801c5</link>
		<pubDate>Thu, 13 Aug 2009 22:04:49 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/6dfb25aed07c4bdda4be9deb000801c5#6dfb25aed07c4bdda4be9deb000801c5</guid>
		<dc:creator>tsilb</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/SlackmasterK/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">W3bbo said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">spivonious said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>String enumerations are good for things like LookupPrivilegeValue which expects a string privilege name from a known set. I use a static class filled with const string members right now.</p>
</div></blockquote>
<p>I'm not sure I fully follow your example. Why would LookupPrivilegeValue expect a string privilege name instead of an enumeration value? Not to mention there's ways to convert a string to/from an enumeration value, so there should be a way to do what you
 want there without a &quot;string enumeration&quot;.</p>
<p>&nbsp;</p>
<p>As for the original idea: that's not a language change. Note that the code didn't change in any way. That's a compiler change. Compilers are free to report any diagnostics they want to, generally.&nbsp; I assume the C# standard provides the same leeway that the
 C&#43;&#43; standard does (you can produce any warnings you want to for what ever you want, but only the errors specified by the standard). That said, it's not a good idea to produce such diagnostics by the compiler. This adds significant compilation overhead, which
 is detrimental to the development process. This is the sort of thing you want to see in static analysis tools instead. Microsoft provides such a tool in FXCop or Code Analysis within VisualStudio. I don't believe there's a rule for either of these, but the
 rules can be added.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/f4183264c74047be945e9deb000801ef#f4183264c74047be945e9deb000801ef</link>
		<pubDate>Fri, 14 Aug 2009 14:37:17 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/f4183264c74047be945e9deb000801ef#f4183264c74047be945e9deb000801ef</guid>
		<dc:creator>William Kempf</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/wkempf/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p>I'd love to see Java-style enums added to C#.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/081b1cf421684cde8e469deb00080231#081b1cf421684cde8e469deb00080231</link>
		<pubDate>Fri, 28 Aug 2009 22:00:06 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/081b1cf421684cde8e469deb00080231#081b1cf421684cde8e469deb00080231</guid>
		<dc:creator>vcomrhencke</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/vcomrhencke/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">W3bbo said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">spivonious said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>String enumerations are good for things like LookupPrivilegeValue which expects a string privilege name from a known set. I use a static class filled with const string members right now.</p>
</div></blockquote>
<p>You do know you can just use ToString() on an enum to get it's value in string form?</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/60a0b013ad2f4c7fbe239deb00080259#60a0b013ad2f4c7fbe239deb00080259</link>
		<pubDate>Sat, 29 Aug 2009 11:55:06 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/60a0b013ad2f4c7fbe239deb00080259#60a0b013ad2f4c7fbe239deb00080259</guid>
		<dc:creator>AndyC</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/AndyC/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><div>I obviously don't expect all of this, but it would be nice.</div>
<ul>
<li><a href="http://channel9.msdn.com/forums/Coffeehouse/257556-C-Extension-Properties/">Extension Properties</a>&nbsp;
</li><li><a href="http://dotnet.dzone.com/news/introduction-mixins-c">Mixins</a> </li><li>Language support for tuple types:<br /><pre class="brush: csharp">public (int, string) GetSomeTuple() { /* ... */ }</pre>Perhaps this could even extend to tuples with named properties (much like anonymous types):<br /><pre class="brush: csharp">public (int Age, string Name) GetSomeTuple() { /* .. */ }</pre>
</li><li>Better language support for function types (unlimited args, named args) </li><li>More type inference! this leads to my final request... </li><li>Better support for anonymous types&nbsp;(shouldn't be limited to only a local scope):<br /><pre class="brush: csharp">public anonymous GetSomeObject() { return new { Feature = &quot;Anonymous Types&quot;, Version = 2 } }</pre><br />Still strongly typed, just a lot simpler. </li></ul></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/76290c98dac4494fb9c89deb000802a0#76290c98dac4494fb9c89deb000802a0</link>
		<pubDate>Sun, 30 Aug 2009 01:30:40 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/76290c98dac4494fb9c89deb000802a0#76290c98dac4494fb9c89deb000802a0</guid>
		<dc:creator>ktr</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/ktr/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p>@AndyC</p>
<p>&quot;You do know you can just use ToString() on an enum to get it's value in string form?&quot;</p>
<p>&nbsp;</p>
<p>That's true, but the naming rules for enums don't capture all of unicode &nbsp;<img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-4.gif' alt='Tongue Out' /> </p>
<p><a href="http://channel9.msdn.com/forums/Coffeehouse/257556-C-Extension-Properties/"></a></p>
<p><a href="http://channel9.msdn.com/forums/Coffeehouse/257556-C-Extension-Properties/"></a></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/bd72577747d94eae80d99deb000802c7#bd72577747d94eae80d99deb000802c7</link>
		<pubDate>Sun, 30 Aug 2009 01:31:39 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/bd72577747d94eae80d99deb000802c7#bd72577747d94eae80d99deb000802c7</guid>
		<dc:creator>ktr</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/ktr/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">ktr said:</div><div class="quoteText">
<div>I obviously don't expect all of this, but it would be nice.</div>
<ul>
<li><a href="http://channel9.msdn.com/forums/Coffeehouse/257556-C-Extension-Properties/">Extension Properties</a>&nbsp;
</li><li><a href="http://dotnet.dzone.com/news/introduction-mixins-c">Mixins</a> </li><li>Language support for tuple types:<br /><pre class="brush: csharp">public (int, string) GetSomeTuple() { /* ... */ }</pre>
Perhaps this could even extend to tuples with named properties (much like anonymous types):<br /><pre class="brush: csharp">public (int Age, string Name) GetSomeTuple() { /* .. */ }</pre>
</li><li>Better language support for function types (unlimited args, named args) </li><li>More type inference! this leads to my final request... </li><li>Better support for anonymous types&nbsp;(shouldn't be limited to only a local scope):<br /><pre class="brush: csharp">public anonymous GetSomeObject() { return new { Feature = &quot;Anonymous Types&quot;, Version = 2 } }</pre>
<br />Still strongly typed, just a lot simpler. </li></ul>
</div></blockquote>
<p>It seems a lot of what you desire is in F#, why don't you use that instead? The type inference in the language is sublime.</p>
<p>&nbsp;</p>
<p><pre class="brush: csharp">let x = y 
let apples = oranges </pre></p>
<p>&nbsp;</p>
<p>I now use the var keyword in C# like its <em>running out of fashion</em>. In visual basic you have</p>
<p>&nbsp;</p>
<p><pre class="brush: vb">Dim anInt as Integer </pre></p>
<p>&nbsp;</p>
<p>which is far more elegant than </p>
<p>&nbsp;</p>
<p><pre class="brush: csharp">MyClass myClass = new MyClass();</pre></p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/462c62fbcf5a4a16affb9deb000802f5#462c62fbcf5a4a16affb9deb000802f5</link>
		<pubDate>Sun, 30 Aug 2009 08:27:32 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/462c62fbcf5a4a16affb9deb000802f5#462c62fbcf5a4a16affb9deb000802f5</guid>
		<dc:creator>Vesuvius</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/vesuvius/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">vesuvius said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">ktr said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>It seems a lot of what you desire is in F#, why don't you use that instead? The type inference in the language is sublime.</p>
<p>&nbsp;</p>
<p></p>
<pre class="brush: csharp">let x = y 
let apples = oranges </pre>
<p></p>
<p>&nbsp;</p>
<p>I now use the var keyword in C# like its <em>running out of fashion</em>. In visual basic you have</p>
<p>&nbsp;</p>
<p></p>
<pre class="brush: vb">Dim anInt as Integer </pre>
<p></p>
<p>&nbsp;</p>
<p>which is far more elegant than </p>
<p>&nbsp;</p>
<p></p>
<pre class="brush: csharp">MyClass myClass = new MyClass();</pre>
<p></p>
</div></blockquote>
<p>Visual Basic 9 also has type inference.</p>
<p>&nbsp;</p>
<p>In C# you can do:</p>
<p><pre class="brush: text">var x = 42;</pre></p>
<p>&nbsp;</p>
<p>And in VB you can do:</p>
<p><pre class="brush: vb">Dim x = 42</pre></p>
<p>&nbsp;</p>
<p>In both cases the type is inferred to be an integer. However, VB will only do that if Option Infer is turned on (which I think is the default for new projects in VS2008); if Option Infer is off, it uses the old behaviour in which case x will be a late-bound&nbsp;Object
 in the above example.</p>
<p>&nbsp;</p>
<p>It also has the strange effect that in VB, the following three lines are now identical in meaning (with Option Infer On):</p>
<p><pre class="brush: vb">Dim foo As New MyClass()
Dim bar = New MyClass()
Dim baz As MyClass = New MyClass()</pre></p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/b066134a8de0470baed39deb00080323#b066134a8de0470baed39deb00080323</link>
		<pubDate>Sun, 30 Aug 2009 10:08:53 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/b066134a8de0470baed39deb00080323#b066134a8de0470baed39deb00080323</guid>
		<dc:creator>Sven Groot</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Sven Groot/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p>Virtual constructors.</p>
<p>// public virtual SampleObject(string name)&nbsp; {&nbsp; }</p>
<p>&nbsp;</p>
<p>Virtual static methods.</p>
<p>// public static virtual DoSomething() { }</p>
<p>&nbsp;</p>
<p>Virtual static constructors.</p>
<p>&nbsp;// public static virtual SampleObject(string name)&nbsp; {&nbsp; }</p>
<p>&nbsp;</p>
<p>Enumeration set operations.</p>
<p>// textBox.Anchors &#43;= { AnchorStyles.Right, AnchorStyles.Bottom };</p>
<p>&nbsp;</p>
<p>Implementation through delegation.</p>
<p>// public class SomeItems : IList&lt;SomeItem&gt; { private List&lt;SomeItem&gt; items; private implements IList&lt;SomeItem&gt; GetList() { return items; }&nbsp; }</p>
<p>&nbsp;</p>
<p>Static method extensions.</p>
<p>// public static void DoSomething(this SomeType, string message);</p>
<p>&nbsp;</p>
<p>Property extensions.</p>
<p>// public string FunnyName { this SomeType; get; set; }</p>
<p>&nbsp;</p>
<p>Static property extensions.</p>
<p>// public static string FunnyName { this SomeType; get; set; }</p>
<p>&nbsp;</p>
<p>Type aliases.</p>
<p>// public typedef SomeItemList = List&lt;SomeItem&gt;;</p>
<p>&nbsp;</p>
<p>Expando properties and methods.</p>
<p>// instance.SomeNewProperty = 12; instance.SomeNewMethod = (string message) =&gt; MessageBox.Show(message);</p>
<p>&nbsp;</p>
<p>Class references.</p>
<p>// public SomeItemClass = class of SomeItem;</p>
<p>&nbsp;</p>
<p>Message based dynamic methods.</p>
<p>// public message(1) void DoSomething(ref MessageArgs messageArgs) { }</p>
<div id="_mcePaste">instance.</div>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/b808aebe30e04b5c80e59deb0008034e#b808aebe30e04b5c80e59deb0008034e</link>
		<pubDate>Sun, 30 Aug 2009 13:09:45 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/b808aebe30e04b5c80e59deb0008034e#b808aebe30e04b5c80e59deb0008034e</guid>
		<dc:creator>sysrpl</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/sysrpl/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">sysrpl said:</div><div class="quoteText">
<p>Virtual constructors.</p>
<p>// public virtual SampleObject(string name)&nbsp; {&nbsp; }</p>
<p>&nbsp;</p>
<p>Virtual static methods.</p>
<p>// public static virtual DoSomething() { }</p>
<p>&nbsp;</p>
<p>Virtual static constructors.</p>
<p>&nbsp;// public static virtual SampleObject(string name)&nbsp; {&nbsp; }</p>
<p>&nbsp;</p>
<p>Enumeration set operations.</p>
<p>// textBox.Anchors &#43;= { AnchorStyles.Right, AnchorStyles.Bottom };</p>
<p>&nbsp;</p>
<p>Implementation through delegation.</p>
<p>// public class SomeItems : IList&lt;SomeItem&gt; { private List&lt;SomeItem&gt; items; private implements IList&lt;SomeItem&gt; GetList() { return items; }&nbsp; }</p>
<p>&nbsp;</p>
<p>Static method extensions.</p>
<p>// public static void DoSomething(this SomeType, string message);</p>
<p>&nbsp;</p>
<p>Property extensions.</p>
<p>// public string FunnyName { this SomeType; get; set; }</p>
<p>&nbsp;</p>
<p>Static property extensions.</p>
<p>// public static string FunnyName { this SomeType; get; set; }</p>
<p>&nbsp;</p>
<p>Type aliases.</p>
<p>// public typedef SomeItemList = List&lt;SomeItem&gt;;</p>
<p>&nbsp;</p>
<p>Expando properties and methods.</p>
<p>// instance.SomeNewProperty = 12; instance.SomeNewMethod = (string message) =&gt; MessageBox.Show(message);</p>
<p>&nbsp;</p>
<p>Class references.</p>
<p>// public SomeItemClass = class of SomeItem;</p>
<p>&nbsp;</p>
<p>Message based dynamic methods.</p>
<p>// public message(1) void DoSomething(ref MessageArgs messageArgs) { }</p>
<div id="_mcePaste">instance.</div>
</div></blockquote>
<p><blockquote><div class="quoteText">Virtual constructors.</p>
<div id="ctl00_MainPlaceHolder_EntryList_ctl19_EntryTemplate_BodyLabel">
<p>// public virtual SampleObject(string name)&nbsp; {&nbsp; }</div></blockquote></p>
<p>What would that even do? You must invoke a constructor with an explicit type name (new Foo()), how would a virtual constructor even work? There's no vtable you can use yet. This is pointless.</p>
<p>&nbsp;</p>
<p><blockquote><div class="quoteText">Virtual static methods.</p>
<p>// public static virtual DoSomething() { }</div></blockquote></p>
<p>Same problem. Static methods are always invoked with a type name, not an insance, so no vtable, so no way to figure out which overridden method to use. Also pointless.</p>
<p>&nbsp;</p>
<p><blockquote><div class="quoteText">Virtual static constructors.</p>
<p>&nbsp;// public static virtual SampleObject(string name)&nbsp; {&nbsp; }</div></blockquote></p>
<p>This one doesn't make any sense whatsoever, not from a technical point of view, and I don't see what kind of scenario they would enable even if it were possible, which it isn't.</p>
<p>&nbsp;</p>
<p><blockquote><div class="quoteText">Enumeration set operations.</p>
<p>// textBox.Anchors &#43;= { AnchorStyles.Right, AnchorStyles.Bottom };&nbsp;</div></blockquote></p>
<p>Is doing &quot;textBox.Anchors |= AnchorStyles.Right | AnchorStyles.Bottom;&quot;, which has the same effect, really so much harder?</p>
<p>&nbsp;</p>
<p><blockquote><div class="quoteText">Implementation through delegation.</p>
<p>// public class SomeItems : IList&lt;SomeItem&gt; { private List&lt;SomeItem&gt; items; private implements IList&lt;SomeItem&gt; GetList() { return items; }&nbsp; }</div></blockquote></p>
<p>Sounds intriguing. It's essentially aggregation, although you would need to have a way to at least provide some of the methods yourself, otherwise there's not much point in aggregating in the first place.</p>
<p>&nbsp;</p>
<p><blockquote><div class="quoteText">Static method extensions.</p>
<p>// public static void DoSomething(this SomeType, string message);</div></blockquote></p>
<p>Could be useful if only to provide context for some methods. However, the syntax you give here is identical to that of regular extension methods (which are static methods on the class that defines them), and the use of the word &quot;this&quot; is confusing since
 static methods have no this pointer.</p>
<p>&nbsp;</p>
<p><blockquote><div class="quoteText">Property extensions.</p>
<p>// public string FunnyName { this SomeType; get; set; }</div></blockquote></p>
<p>Agreed. Note they are technically supported in IL, there's just no syntax for them yet.</p>
<p>&nbsp;</p>
<p><blockquote><div class="quoteText">Static property extensions.</p>
<p>// public static string FunnyName { this SomeType; get; set; }</div></blockquote></p>
<p>Same argument as static extension methods: don't use the keyword this.</p>
<p>&nbsp;</p>
<p><blockquote><div class="quoteText">Type aliases.</p>
<p>// public typedef SomeItemList = List&lt;SomeItem&gt;;</div></blockquote></p>
<p>Could be useful, but can also be confusing.</p>
<p>&nbsp;</p>
<p><blockquote><div class="quoteText">Expando properties and methods.</p>
<p>// instance.SomeNewProperty = 12; instance.SomeNewMethod = (string message) =&gt; MessageBox.Show(message);</div></blockquote></p>
<p>How Javascript. <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-4.gif' alt='Tongue Out' /></p>
<p>&nbsp;</p>
<p><blockquote><div class="quoteText">Class references.</p>
<p>// public SomeItemClass = class of SomeItem;</p>
<p>&nbsp;</p>
<p>Message based dynamic methods.</p>
<p>// public message(1) void DoSomething(ref MessageArgs messageArgs) { }</p>
<div></div></blockquote></div>
<div>Not sure what you mean by these.</div>
<div>EDIT: The C9 editor screwed up all the quotes. Yay...</div>
</div></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/3e855bed8a7a4ac893b69deb00080385#3e855bed8a7a4ac893b69deb00080385</link>
		<pubDate>Sun, 30 Aug 2009 13:19:31 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/3e855bed8a7a4ac893b69deb00080385#3e855bed8a7a4ac893b69deb00080385</guid>
		<dc:creator>Sven Groot</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Sven Groot/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">sysrpl said:</div><div class="quoteText">
<p>Virtual constructors.</p>
<p>// public virtual SampleObject(string name)&nbsp; {&nbsp; }</p>
<p>&nbsp;</p>
<p>Virtual static methods.</p>
<p>// public static virtual DoSomething() { }</p>
<p>&nbsp;</p>
<p>Virtual static constructors.</p>
<p>&nbsp;// public static virtual SampleObject(string name)&nbsp; {&nbsp; }</p>
<p>&nbsp;</p>
<p>Enumeration set operations.</p>
<p>// textBox.Anchors &#43;= { AnchorStyles.Right, AnchorStyles.Bottom };</p>
<p>&nbsp;</p>
<p>Implementation through delegation.</p>
<p>// public class SomeItems : IList&lt;SomeItem&gt; { private List&lt;SomeItem&gt; items; private implements IList&lt;SomeItem&gt; GetList() { return items; }&nbsp; }</p>
<p>&nbsp;</p>
<p>Static method extensions.</p>
<p>// public static void DoSomething(this SomeType, string message);</p>
<p>&nbsp;</p>
<p>Property extensions.</p>
<p>// public string FunnyName { this SomeType; get; set; }</p>
<p>&nbsp;</p>
<p>Static property extensions.</p>
<p>// public static string FunnyName { this SomeType; get; set; }</p>
<p>&nbsp;</p>
<p>Type aliases.</p>
<p>// public typedef SomeItemList = List&lt;SomeItem&gt;;</p>
<p>&nbsp;</p>
<p>Expando properties and methods.</p>
<p>// instance.SomeNewProperty = 12; instance.SomeNewMethod = (string message) =&gt; MessageBox.Show(message);</p>
<p>&nbsp;</p>
<p>Class references.</p>
<p>// public SomeItemClass = class of SomeItem;</p>
<p>&nbsp;</p>
<p>Message based dynamic methods.</p>
<p>// public message(1) void DoSomething(ref MessageArgs messageArgs) { }</p>
<div id="_mcePaste">instance.</div>
</div></blockquote>
<p>Type aliasing has been in C# since the beginning.</p>
<p>&nbsp;</p>
<p>using StringList = System.Collections.List&lt;System.String&gt;;</p>
<p>&nbsp;</p>
<p>the only problem with the syntax is that unless a type is specified with a keyword (string/int/etc) you must use the full type name, which gets tedious after a while. I'd prefer it if it respected existing namespace imports to resolve type names.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/5ed84a5e625b40a5a64d9deb000803b1#5ed84a5e625b40a5a64d9deb000803b1</link>
		<pubDate>Sun, 30 Aug 2009 14:28:13 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/5ed84a5e625b40a5a64d9deb000803b1#5ed84a5e625b40a5a64d9deb000803b1</guid>
		<dc:creator>W3bbo</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/W3bbo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">sysrpl said:</div><div class="quoteText">
<p>Virtual constructors.</p>
<p>// public virtual SampleObject(string name)&nbsp; {&nbsp; }</p>
<p>&nbsp;</p>
<p>Virtual static methods.</p>
<p>// public static virtual DoSomething() { }</p>
<p>&nbsp;</p>
<p>Virtual static constructors.</p>
<p>&nbsp;// public static virtual SampleObject(string name)&nbsp; {&nbsp; }</p>
<p>&nbsp;</p>
<p>Enumeration set operations.</p>
<p>// textBox.Anchors &#43;= { AnchorStyles.Right, AnchorStyles.Bottom };</p>
<p>&nbsp;</p>
<p>Implementation through delegation.</p>
<p>// public class SomeItems : IList&lt;SomeItem&gt; { private List&lt;SomeItem&gt; items; private implements IList&lt;SomeItem&gt; GetList() { return items; }&nbsp; }</p>
<p>&nbsp;</p>
<p>Static method extensions.</p>
<p>// public static void DoSomething(this SomeType, string message);</p>
<p>&nbsp;</p>
<p>Property extensions.</p>
<p>// public string FunnyName { this SomeType; get; set; }</p>
<p>&nbsp;</p>
<p>Static property extensions.</p>
<p>// public static string FunnyName { this SomeType; get; set; }</p>
<p>&nbsp;</p>
<p>Type aliases.</p>
<p>// public typedef SomeItemList = List&lt;SomeItem&gt;;</p>
<p>&nbsp;</p>
<p>Expando properties and methods.</p>
<p>// instance.SomeNewProperty = 12; instance.SomeNewMethod = (string message) =&gt; MessageBox.Show(message);</p>
<p>&nbsp;</p>
<p>Class references.</p>
<p>// public SomeItemClass = class of SomeItem;</p>
<p>&nbsp;</p>
<p>Message based dynamic methods.</p>
<p>// public message(1) void DoSomething(ref MessageArgs messageArgs) { }</p>
<div id="_mcePaste">instance.</div>
</div></blockquote>
<p>Type aliasing has been in C# since the beginning.</p>
<p>&nbsp;</p>
<p>using StringList = System.Collections.List&lt;System.String&gt;;</p>
<p>&nbsp;</p>
<p>the only problem with the syntax is that unless a type is specified with a keyword (string/int/etc) you must use the full type name, which gets tedious after a while. I'd prefer it if it respected existing namespace imports to resolve type names.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/adca7319229640ed9c3e9deb000803dd#adca7319229640ed9c3e9deb000803dd</link>
		<pubDate>Sun, 30 Aug 2009 14:31:38 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/adca7319229640ed9c3e9deb000803dd#adca7319229640ed9c3e9deb000803dd</guid>
		<dc:creator>W3bbo</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/W3bbo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">sysrpl said:</div><div class="quoteText">
<p>Virtual constructors.</p>
<p>// public virtual SampleObject(string name)&nbsp; {&nbsp; }</p>
<p>&nbsp;</p>
<p>Virtual static methods.</p>
<p>// public static virtual DoSomething() { }</p>
<p>&nbsp;</p>
<p>Virtual static constructors.</p>
<p>&nbsp;// public static virtual SampleObject(string name)&nbsp; {&nbsp; }</p>
<p>&nbsp;</p>
<p>Enumeration set operations.</p>
<p>// textBox.Anchors &#43;= { AnchorStyles.Right, AnchorStyles.Bottom };</p>
<p>&nbsp;</p>
<p>Implementation through delegation.</p>
<p>// public class SomeItems : IList&lt;SomeItem&gt; { private List&lt;SomeItem&gt; items; private implements IList&lt;SomeItem&gt; GetList() { return items; }&nbsp; }</p>
<p>&nbsp;</p>
<p>Static method extensions.</p>
<p>// public static void DoSomething(this SomeType, string message);</p>
<p>&nbsp;</p>
<p>Property extensions.</p>
<p>// public string FunnyName { this SomeType; get; set; }</p>
<p>&nbsp;</p>
<p>Static property extensions.</p>
<p>// public static string FunnyName { this SomeType; get; set; }</p>
<p>&nbsp;</p>
<p>Type aliases.</p>
<p>// public typedef SomeItemList = List&lt;SomeItem&gt;;</p>
<p>&nbsp;</p>
<p>Expando properties and methods.</p>
<p>// instance.SomeNewProperty = 12; instance.SomeNewMethod = (string message) =&gt; MessageBox.Show(message);</p>
<p>&nbsp;</p>
<p>Class references.</p>
<p>// public SomeItemClass = class of SomeItem;</p>
<p>&nbsp;</p>
<p>Message based dynamic methods.</p>
<p>// public message(1) void DoSomething(ref MessageArgs messageArgs) { }</p>
<div id="_mcePaste">instance.</div>
</div></blockquote>
<p>@sysrpl</p>
<p>&quot;Expando properties and methods.</p>
<p>// instance.SomeNewProperty = 12; instance.SomeNewMethod = (string message) =&gt; MessageBox.Show(message);&quot;</p>
<p>&nbsp;</p>
<p>I don't know... Perhaps only in a dynamic context?</p>
<p>&nbsp;</p>
<p><pre class="brush: csharp">dynamic instance = GetInstance();
instance.SomeNewProperty = 12;
instance.SomeNewMethod = (string message) =&gt; MessageBox.Show(message);</pre></p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/805f43a9f8544301a0999deb0008040a#805f43a9f8544301a0999deb0008040a</link>
		<pubDate>Mon, 31 Aug 2009 02:42:19 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/805f43a9f8544301a0999deb0008040a#805f43a9f8544301a0999deb0008040a</guid>
		<dc:creator>ktr</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/ktr/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p>The ability to blend the different .net languages in a the same sourcecode, through the use of a new # tag.</p>
<p>Just like vb.net has XML Literals.</p>
<p>&nbsp;</p>
<p><pre class="brush: text">
#Language=&quot;vb.net&quot;
Public Module Module1

 Sub Main()
Dim n1 As Double=2
Dim n2 As Double=3
Dim result = Addition(n1,n2)
 Console.WriteLine(result)
 Console.ReadKey()
 End Sub
#EndLanguage
 
#Language=&quot;c#&quot;
 public  double Addition(double x, double y) {
 return x &#43; y;
}
#EndLanguage
</pre></p>
<p>The c# is probably wrong (not my best) but you get the gist.</p>
<p>Developers coding in prefered language.</p>
<p>&nbsp;</p>
<p>I don't think it be that hard to implement, all the required mechnisms are already built; the compilers. It may need a new linker.</p>
<p>&nbsp;</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/a1ac20dee87843799c959deb00080434#a1ac20dee87843799c959deb00080434</link>
		<pubDate>Tue, 01 Sep 2009 14:01:55 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/a1ac20dee87843799c959deb00080434#a1ac20dee87843799c959deb00080434</guid>
		<dc:creator>Adam Speight</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/AdamSpeight2008/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">AdamSpeight2008 said:</div><div class="quoteText">
<p>The ability to blend the different .net languages in a the same sourcecode, through the use of a new # tag.</p>
<p>Just like vb.net has XML Literals.</p>
<p>&nbsp;</p>
<p></p>
<pre class="brush: text">
#Language=&quot;vb.net&quot;
Public Module Module1

 Sub Main()
Dim n1 As Double=2
Dim n2 As Double=3
Dim result = Addition(n1,n2)
 Console.WriteLine(result)
 Console.ReadKey()
 End Sub
#EndLanguage
 
#Language=&quot;c#&quot;
 public  double Addition(double x, double y) {
 return x &#43; y;
}
#EndLanguage
</pre>
<p></p>
<p>The c# is probably wrong (not my best) but you get the gist.</p>
<p>Developers coding in prefered language.</p>
<p>&nbsp;</p>
<p>I don't think it be that hard to implement, all the required mechnisms are already built; the compilers. It may need a new linker.</p>
<p>&nbsp;</p>
</div></blockquote>
<p>Blending languages would be nice, although I'd be happy with files being in one language but projects being in multiple. So if I find a neat class on the web that's in C# but I want to use it in my VB project, and I don't want two DLLs, I don't need to translate
 the C# to VB (and inevitably introduce errors).</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/4455286c6778450cb43d9deb0008045d#4455286c6778450cb43d9deb0008045d</link>
		<pubDate>Tue, 01 Sep 2009 14:26:03 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/4455286c6778450cb43d9deb0008045d#4455286c6778450cb43d9deb0008045d</guid>
		<dc:creator>Scott</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/spivonious/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">spivonious said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">AdamSpeight2008 said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>Blending languages would be nice, although I'd be happy with files being in one language but projects being in multiple. So if I find a neat class on the web that's in C# but I want to use it in my VB project, and I don't want two DLLs, I don't need to translate
 the C# to VB (and inevitably introduce errors).</p>
</div></blockquote>
<p>Just integrate ILMerge into your build process.</p>
<p>&nbsp;</p>
<p>But is translating from VB to C# and back really that hard? Given most samples I see online (like on CodeProject) are in C# I think it'd be better to use C# anyway. The only VB samples I see are for trivial things because the people who consume them are
 beginners who are still finding their feet.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/e97ae030be454c79b4f29deb00080485#e97ae030be454c79b4f29deb00080485</link>
		<pubDate>Tue, 01 Sep 2009 16:43:33 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/e97ae030be454c79b4f29deb00080485#e97ae030be454c79b4f29deb00080485</guid>
		<dc:creator>W3bbo</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/W3bbo/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">W3bbo said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">spivonious said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>Just integrate ILMerge into your build process.</p>
<p>&nbsp;</p>
<p>But is translating from VB to C# and back really that hard? Given most samples I see online (like on CodeProject) are in C# I think it'd be better to use C# anyway. The only VB samples I see are for trivial things because the people who consume them are
 beginners who are still finding their feet.</p>
</div></blockquote>
<p>It would allow the coder to be more productive, since you eliminate the translation process.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/cb86692ab05e4c89ba629deb000804ad#cb86692ab05e4c89ba629deb000804ad</link>
		<pubDate>Tue, 01 Sep 2009 16:58:37 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/cb86692ab05e4c89ba629deb000804ad#cb86692ab05e4c89ba629deb000804ad</guid>
		<dc:creator>Adam Speight</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/AdamSpeight2008/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Features you like added to vb.net, c#  or any other .net language.</title>
		<description><![CDATA[<p><blockquote><div class="quoteUser">AdamSpeight2008 said:</div><div class="quoteText">
<blockquote>
<div class="quoteUser">W3bbo said:</div>
<div class="quoteText">*snip*</div>
</blockquote>
<p>It would allow the coder to be more productive, since you eliminate the translation process.</p>
</div></blockquote>
<p>I disagree there. When I translate code I'm forced to read it and see how it works, which is a good thing: it means I understand what my code is doing rather than doing &quot;copy and paste programming&quot;.</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/264fb8a805724960a5339deb000804d4#264fb8a805724960a5339deb000804d4</link>
		<pubDate>Tue, 01 Sep 2009 17:12:02 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/484956-Features-you-like-added-to-vbnet-c-or-any-other-net-language/264fb8a805724960a5339deb000804d4#264fb8a805724960a5339deb000804d4</guid>
		<dc:creator>W3bbo</dc:creator>
		<slash:comments>28</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/W3bbo/Discussions/RSS</wfw:commentRss>
	</item>
</channel>
</rss>