<?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 - Discussions by Pop Catalin Sever</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS"></atom:link>
	<image>
		<url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url>
		<title>Channel 9 - Discussions by Pop Catalin Sever</title>
		<link>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions</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/Niners/Pop Catalin Sever/Discussions</link>
	<language>en</language>
	<pubDate>Tue, 21 May 2013 16:23:51 GMT</pubDate>
	<lastBuildDate>Tue, 21 May 2013 16:23:51 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<c9:totalResults>0</c9:totalResults>
	<c9:pageCount>0</c9:pageCount>
	<c9:pageSize>0</c9:pageSize>
	<item>
		<title>Tech Off - is &#39;new object().property&#39; or &#39;new object().method()&#39; a good idea?</title>
		<description><![CDATA[<p><blockquote>
<div class="quoteAuthor">ScanIAm wrote:</div>
<div class="quoteBody"><br /><br />Exactly, and I'm fine with that, now, but it doesn't 'feel' right.&nbsp; That's my own cross to bear <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /><br /><br />string s = &quot;bob&quot;;<br />if(s!=null)<br />&nbsp;&nbsp;&nbsp;Console.WriteLine(bob.Length);<br /><br />just seems safer.<br /><br /></div>
</blockquote>
<br /><br />It may seem to you safer, but if you dig deeper into the innner workings of .Net (reading books, blogs, articles etc)&nbsp; it won't seem safer anymore it will seem redundant and also less performant.<br /></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/259414-is-new-objectproperty-or-new-objectmethod-a-good-idea/1a599eead3b043baacea9dfa00865e35#1a599eead3b043baacea9dfa00865e35</link>
		<pubDate>Tue, 04 Dec 2007 18:19:50 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/259414-is-new-objectproperty-or-new-objectmethod-a-good-idea/1a599eead3b043baacea9dfa00865e35#1a599eead3b043baacea9dfa00865e35</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>41</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - is &#39;new object().property&#39; or &#39;new object().method()&#39; a good idea?</title>
		<description><![CDATA[<p><blockquote>
<div class="quoteAuthor">Curt Nichols wrote:</div>
<div class="quoteBody"><br />...&#65279;<br /><br /><font color="#a52a2a"><font color="#ffa500">[Edge case ahead.]</font><br /></font><br />Now, in the case of<br /><br /><font color="#0000ff" size="2"></font>
<p><font color="#0000ff" size="2">&nbsp;&nbsp;&nbsp; <font face="Courier New">new</font></font><font face="Courier New"><font size="2">
</font><font color="#2b91af" size="2">MyObject</font><font size="2">().LongRunningMethod();</font></font></p>
the instance of <font color="#2b91af" face="Courier New" size="2">MyObject</font>
<a href="http://www.codeneverwritten.com/2007/12/where-did-my-object-go-part-1.html">
may be garbage collected</a> before <font face="Courier New" size="2">LongRunningMethod</font> returns. This usually doesn't cause a problem, but it can; to cause a problem&nbsp;usually involves a questionable design decision (e.g., a disposed
<font color="#2b91af" face="Courier New" size="2">MyObject</font> cleans up a field, and this
<em>happens</em> to occur&nbsp;after <font face="Courier New" size="2">LongRunningMethod</font>'s last reference to your
<font color="#2b91af" face="Courier New" size="2">MyObject</font> instance but before using a locally stored&nbsp;reference to that field). I can make it happen but I don't expect to see it in the wild.</div>
</blockquote>
<br /><br />This is not a problem and this is why:<br /><br />1) if <font face="Courier New"><font size="2">LongRunningMethod() acceses fields on MyObject instance the &quot;this&quot; parameter is passed on the stack to the method meaning you have a rooted reference to the object instance, the method call practicaly is like this<br /><br />newobj MyObject //Returns a reference in the stack <br />call </font></font><font face="Courier New"><font size="2">LongRunningMethod<br /><br />so when the LongRunningMethod is called there is a reference in the stack pointing at the
</font></font><font face="Courier New"><font color="#2b91af" size="2">MyObject</font><font size="2"> instance. Also because
</font></font><font face="Courier New"><font size="2">LongRunningMethod acceses fields of the object it keeps a referente to the object instace in it's own stack frame and the object won't be garbage colected.<br /><br />2) </font></font><font face="Courier New"><font size="2">LongRunningMethod() doesn't access any fields on MyObject instance so that means even if the object is garbage colected (because now the jit can optimize the method to eliminate the reference from the
 stack) the method will never try to dereference a null object (the this pointer) so won't get a NullReference exception.<br /><br />To test it you can even try to call with reflection a instance method that doesn't access any fields passing a null value and it will work.<br /><br />NullReference is only thown when you try to dereference a null pointer and not by calling a method (if that method doesn't try to dereference a null pointer the exception will never be thrown)<br /><br /></font></font></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/259414-is-new-objectproperty-or-new-objectmethod-a-good-idea/dfc684069db341f78f8a9dfa00865cb1#dfc684069db341f78f8a9dfa00865cb1</link>
		<pubDate>Tue, 04 Dec 2007 11:19:41 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/259414-is-new-objectproperty-or-new-objectmethod-a-good-idea/dfc684069db341f78f8a9dfa00865cb1#dfc684069db341f78f8a9dfa00865cb1</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>41</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - Google .. still the Ultimate search</title>
		<description><![CDATA[<p>Google is the <b><u>&quot;KING&quot;</u></b>, Live has a long road ahead before it can compete with google (many years of continous research and improvement), but I got to say it's a rather nice start for Live.<br>
<br></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/258638-Google--still-the-Ultimate-search/69cc05b29d984277b97c9deb00238737#69cc05b29d984277b97c9deb00238737</link>
		<pubDate>Wed, 31 Oct 2007 10:05:13 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/258638-Google--still-the-Ultimate-search/69cc05b29d984277b97c9deb00238737#69cc05b29d984277b97c9deb00238737</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>3</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Yet another C# dice question.</title>
		<description><![CDATA[<p>here's one way to do it :<br /><br />using System;<br />using System.Runtime.InteropServices;<br />using System.Security.Principal;<br />using System.Security.Permissions;<br />using System.Windows.Forms;<br />using System.Collections.Generic;<br />using System.Text;<br />using System.Reflection.Emit;<br />using System.Reflection;<br /><br />namespace DiceGame {<br />&nbsp;&nbsp; &nbsp;class Program {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;static void Main(string[] args) {<br /><br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;// Create 2 arrays of integers to hold player dice rolls<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;int[] player1 = new int[6];<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;int[] player2 = new int[6];<br /><br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;// Create a random number generator<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;Random randomGenerator = new Random();<br /><br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;// Roll dice 5 times for each player<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;for (int i = 0; i &lt; 5; i&#43;&#43;) {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;// Increment the array value at the position generated by the dice roll<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;// for example a dice roll of 3 increments the array at posion 3<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;int diceRoll = 0;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;diceRoll = randomGenerator.Next(6);<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;player1[diceRoll]&#43;&#43;;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//Write Player 1&nbsp; dice roll <br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;Console.WriteLine(&quot;Player 1 rolled: {0}&quot;, diceRoll &#43; 1);<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;diceRoll = randomGenerator.Next(6);<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;player2[diceRoll]&#43;&#43;;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//Write Player 2&nbsp; dice roll <br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;Console.WriteLine(&quot;Player 2 rolled: {0}&quot;, diceRoll &#43; 1);<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br /><br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;// Find max number of rolls with the same value<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;// we effectively search the position in the arrays holding the max value<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;int maxPlayer1 = 0, maxPlayer2 = 0;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;for (int i = 1; i &lt; 5; i&#43;&#43;) {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (player1[i] &gt; player1[maxPlayer1]) maxPlayer1 = i;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (player2[i] &gt; player2[maxPlayer2]) maxPlayer2 = i;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br /><br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;// Write results to console;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (player1[maxPlayer1] &gt; player2[maxPlayer2])<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;Console.WriteLine(&quot;Player 1 won with {0} rolls of {1}&quot;, player1[maxPlayer1], maxPlayer1 &#43; 1);<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;else<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (player2[maxPlayer2] &gt; player1[maxPlayer1])<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;Console.WriteLine(&quot;Player 2 won with {0} rolls of {1}&quot;, player2[maxPlayer2], maxPlayer2 &#43; 1);<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;else<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;Console.WriteLine(&quot;Tie&quot;);<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br />&nbsp;&nbsp; &nbsp;}<br />}<br /><br /><br />As an exercise&nbsp; try to refactor the code to use functions that take a player numeber to do the work.<br /><br /></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/257853-Yet-another-C-dice-question/06bfdeb4cbca49adb8d09df90101011c#06bfdeb4cbca49adb8d09df90101011c</link>
		<pubDate>Thu, 27 Sep 2007 13:33:11 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/257853-Yet-another-C-dice-question/06bfdeb4cbca49adb8d09df90101011c#06bfdeb4cbca49adb8d09df90101011c</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>9</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - The opposite of ??</title>
		<description><![CDATA[<p>I would introduce the a new variant of . operator that works with null references. Something like&nbsp; .?&nbsp;&nbsp;ex: name =&nbsp;Customer.?Name, or<br /><br />adrees = Customer.?Adress.?City.?Name <br /><br />The .? operator should return&nbsp;left side&nbsp;type default value when used on a null object.
<br /><br />But in any case the only possible value this might add is a little sugar on the sintax expecially where there are lot's of null tests (wich happens to be the case many times&nbsp;when working with object hierachies and there is lot's of drilling operations done
 on the hierarchy).<br /><br /></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/257394-The-opposite-of-/31c3799f63ae4bd9af819dfa0089dc49#31c3799f63ae4bd9af819dfa0089dc49</link>
		<pubDate>Tue, 04 Sep 2007 12:03:27 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/257394-The-opposite-of-/31c3799f63ae4bd9af819dfa0089dc49#31c3799f63ae4bd9af819dfa0089dc49</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>23</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - Mac OS X with 100 bugs still safer than Windows</title>
		<description><![CDATA[<p><blockquote>
<div class="quoteAuthor">corona_coder wrote:</div>
<div class="quoteBody">&#65279;<a href="http://news.zdnet.co.uk/security/0,1000000189,39287981,00.htm">Of course</a>, Mac OS X based on Unix, Windows not.&nbsp; Linux is still safer than both.&nbsp; What I like is how the anti-virus guys trying to spread the FUD.<br>
</div>
</blockquote>
<br>
<br>
Oh boy! oh oboy! my&nbsp;pizza with tomatoes, mushrooms, and onions as toppings and extra cheese is gonna arive soon. Yummy!</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/256190-Mac-OS-X-with-100-bugs-still-safer-than-Windows/82143289f43347b79b9e9dec00920548#82143289f43347b79b9e9dec00920548</link>
		<pubDate>Thu, 12 Jul 2007 16:07:15 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/256190-Mac-OS-X-with-100-bugs-still-safer-than-Windows/82143289f43347b79b9e9dec00920548#82143289f43347b79b9e9dec00920548</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>25</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - How big are your sprocs?</title>
		<description><![CDATA[<p>Don't know how big the sproc is but it has an 870 lines(&#43;-) select query. It joins data from around 50 tables doing multiple agregates and uses variuouse functions. It basicaly does statistics on a conected graph with tens of thousants of lines at the
 largest level. It also has some comments and not all lines are sql statements. No temporary tables are used in the query.<br></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/252528-How-big-are-your-sprocs/0a416320a6fc47eea87b9dec005bd287#0a416320a6fc47eea87b9dec005bd287</link>
		<pubDate>Tue, 20 Feb 2007 23:57:23 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/252528-How-big-are-your-sprocs/0a416320a6fc47eea87b9dec005bd287#0a416320a6fc47eea87b9dec005bd287</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>17</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - Girls &amp;amp; IT</title>
		<description><![CDATA[<p>I think it has something to do with the fact that IT related&nbsp;work&nbsp;it's not a verry social kind of work. Women/girls from my observations seem to prefer the kind of jobs where is allot of social interaction involved...(nursing, teaching, marketing, etc).<br>
<br>
Also the developers aren't the most sociable people on earth(unfortunatley) actualy they are quite the oposite...<br></p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/252461-Girls-amp-IT/0348664195a5411680629dec005b08a4#0348664195a5411680629dec005b08a4</link>
		<pubDate>Mon, 19 Feb 2007 09:46:38 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/252461-Girls-amp-IT/0348664195a5411680629dec005b08a4#0348664195a5411680629dec005b08a4</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>6</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Internal Scope being accessed outside an assembly?</title>
		<description><![CDATA[<p>'Internal protected' means can be accessed from current assembly or by any other class that extends this one.... think of the mnodiffiers like having and 'or' between them 'internal or protected' access<br></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/251256-Internal-Scope-being-accessed-outside-an-assembly/fa0bac5cb1fd451399e59dea014fd150#fa0bac5cb1fd451399e59dea014fd150</link>
		<pubDate>Sat, 06 Jan 2007 21:32:41 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/251256-Internal-Scope-being-accessed-outside-an-assembly/fa0bac5cb1fd451399e59dea014fd150#fa0bac5cb1fd451399e59dea014fd150</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>3</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Coffeehouse - Programming &amp;quot;languages&amp;quot; are not real languages...</title>
		<description><![CDATA[<p>Pardon me but... this is a little absurd. Programing languages arent human languages and therefore they don't allow you to express all the things you as a human would want, and can express using a human language. But they do allow you to fully express
 everything a computer can and do. There isn't something a computer can do but no language to express it in (not something that I know of at least). Also look at the similarities both human and computer languages evolve over time, to gain greater expressivity
 and power. What computer languages don't share wit human languages is flexibility. Computer languages are pretty inflexible. &quot;each real language allows you to express everything.&quot; - No they don't this is an absolute. If if where so' languages would be perfect
 and never had to evolve. But they do evolve which means they can't express everything. QED</p>]]></description>
		<link>http://channel9.msdn.com/Forums/Coffeehouse/195744-Programming-quotlanguagesquot-are-not-real-languages/e662c76b8eeb4429a5d29deb0170cfc9#e662c76b8eeb4429a5d29deb0170cfc9</link>
		<pubDate>Mon, 05 Jun 2006 10:28:08 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/Coffeehouse/195744-Programming-quotlanguagesquot-are-not-real-languages/e662c76b8eeb4429a5d29deb0170cfc9#e662c76b8eeb4429a5d29deb0170cfc9</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>18</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - DataColumn</title>
		<description><![CDATA[<p>DataCollumn[] is an array type that stores references to DataCollumn objects in heap because DataCollumn is a reference type.<br>
<br>
The Array Type is a reference type that doesn't implement IDisposable<br>
<br>
DataCollumn[] is an type derived from Array, compiler generated<br>
<br>
and ofcourse it does'i implement the same interfaces of it elements.<br>
<br>
</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/166103-DataColumn/13d5c5847243477e8bf29dea0138fc0c#13d5c5847243477e8bf29dea0138fc0c</link>
		<pubDate>Fri, 10 Mar 2006 17:09:51 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/166103-DataColumn/13d5c5847243477e8bf29dea0138fc0c#13d5c5847243477e8bf29dea0138fc0c</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>4</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Generi type inheritance ????</title>
		<description><![CDATA[<p>So what's your objection realy ???</p>
<p>the fact that the compiler doest't isues a warning for my class, it can just as easily isue a warning if it gets implemented ...
</p>
<p>the code works even it's just a warning , something to be aware of. and if you instantiate a
<br>
Snapshot&lt;SnapshotBase&gt;&nbsp; sn = new Snapshot&lt;SnapshotBase&gt;() you should be fully aware of the fact that you're using the instantiated' class methods primarely or if you want to use the base class' methods you can cast. Or maybe there's anothe way around this to
 be sure all of the time what method you are calling.<br>
<br>
Maybe generic clases that extend other types should't even be allowed to have non virtual or non explicit interface methos. The best way can found to solve this.<br>
<br>
But I don't see why generics cand be brought to the next level by parametrising more of their elements.<br>
<br>
Generics started a new programing paradigm parametrisable code. And it should keep evolving and not stop right here.<br>
<br>
I' dont see any benefits from stoping.</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/6c2d7d779216464c8feb9dea01388a18#6c2d7d779216464c8feb9dea01388a18</link>
		<pubDate>Fri, 10 Mar 2006 16:22:01 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/6c2d7d779216464c8feb9dea01388a18#6c2d7d779216464c8feb9dea01388a18</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>22</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Generi type inheritance ????</title>
		<description><![CDATA[<p>SnapshotBase snapshotInstance = new Snapshot&lt;SnapshotBase&gt;();<br>
<br>
snapshotInstance.SomeMethod1();<br>
snapshotInstance.SomeMethod2();<br>
this shoud call the SnapshotBase's methods<br>
<br>
<br>
((Snapshot&lt;SnapshotBase&gt;) snapshotInstance).SomeMethod1();<br>
((Snapshot&lt;SnapshotBase&gt;) snapshotInstance).SomeMethod2();<br>
<br>
should call Snapshot&lt;SnapshotBase&gt;'s methods just like in a normal inheritance scenario
<br>
I'm not sugesting any oop rules breaking. I've told you before this&nbsp;shudn't&nbsp;replace non virtual methods using this tecnique.<br>
<br>
I don't realy know why you understood it like that.<br>
<br>
<br>
this is Exacly how my Generic class should behave, like a normal inherited class</p>
<p>using System;</p>
<p>using System.Collections.Generic;</p>
<p>using System.Windows.Forms;</p>
<p>namespace Testing {</p>
<p>static class Program {</p>
<p></p>
<p>static void Main(string[] args)</p>
<p>{ </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BaseClass bc = new Class2();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bc.Write();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((Class2)bc).Write();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.ReadKey();<br>
} <br>
}<br>
public class BaseClass {<br>
&nbsp;&nbsp;&nbsp;public void Write() {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&quot;1&quot;);<br>
&nbsp;&nbsp;&nbsp;}<br>
}<br>
public class Class2 : BaseClass {<br>
&nbsp;&nbsp;&nbsp;public void Write() {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&quot;2&quot;);<br>
&nbsp;&nbsp;&nbsp;}<br>
}<br>
<br>
}<br>
<br>
Results : <br>
<br>
1<br>
2<br>
<br>
[EDITED]<br>
</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/7592bb2e15954815bdcc9dea013889c3#7592bb2e15954815bdcc9dea013889c3</link>
		<pubDate>Fri, 10 Mar 2006 16:05:11 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/7592bb2e15954815bdcc9dea013889c3#7592bb2e15954815bdcc9dea013889c3</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>22</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Generi type inheritance ????</title>
		<description><![CDATA[<p>So if anyone is interested to see this feature in a future version of dot Net framework there is an open Sugestion on Microsoft's feedback center wich can be voted for<br>
<br>
<a href="http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=f2b1c45b-4be4-410d-8d4b-84315730cea6"><br>
http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=f2b1c45b-4be4-410d-8d4b-84315730cea6</a><br>
<br>
<br>
My thanks to the community</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/1246f37ef3124bcd89c69dea0138893f#1246f37ef3124bcd89c69dea0138893f</link>
		<pubDate>Fri, 10 Mar 2006 10:57:24 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/1246f37ef3124bcd89c69dea0138893f#1246f37ef3124bcd89c69dea0138893f</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>22</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Generi type inheritance ????</title>
		<description><![CDATA[<p><blockquote>
<div>leeappdalecom wrote:</div>
<div>wait it's all just made sense now lol<br>
<br>
Inherit and extend the capabilities of different types using generics rather than extending every type you have created and it still be the same type of object in the end.<br>
</div>
</blockquote>
<br>
<br>
Exactly! after all this is what generics are all about provide a generic implementation that is specialised at use time.<br>
<br>
<br>
So my ipothetical class could&nbsp;become :<br>
<br>
class Snapshot&lt;T&gt; : T , ISnapshot&lt;T&gt;&nbsp;<br>
&nbsp;where T : ICloneable<br>
&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private T _snapshot;<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Public&nbsp;T SnapShot {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return _snapshot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public void SaveSnapshot() {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_snapshot = this.Clone();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
}<br>
<br>
what you get is your types are extensible in a generic way and also<br>
specialised without &quot;code copy&quot;</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/6fb257d73b6340af9e299dea01388916#6fb257d73b6340af9e299dea01388916</link>
		<pubDate>Wed, 08 Mar 2006 16:51:13 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/6fb257d73b6340af9e299dea01388916#6fb257d73b6340af9e299dea01388916</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>22</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Generi type inheritance ????</title>
		<description><![CDATA[<p><blockquote>
<div>leeappdalecom wrote:</div>
<div>Ok i think i see what your saying. One thing springs to mind how would you store these snapshot objects without a container object?<br>
<br>
If you modify your enitity to be a container then it wont be an entity anymore. <br>
<br>
I dont see why you cant use the BindingList&lt;&gt; class to do something similar.<br>
<br>
(tell me if i totally got the wrong end of the stick lol)<br>
</div>
</blockquote>
<br>
<br>
storing them&nbsp;is't&nbsp;a problem the problem is providing new capability and being able to still use the same objects using the old infrastructure.<br>
<br>
also BindingList&lt;T&gt; is a colection class&nbsp;for use with&nbsp;GUI's&nbsp;&nbsp;maingly not need for its capabilitties here</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/92d4465621f54ed7b4aa9dea01388895#92d4465621f54ed7b4aa9dea01388895</link>
		<pubDate>Wed, 08 Mar 2006 16:09:26 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/92d4465621f54ed7b4aa9dea01388895#92d4465621f54ed7b4aa9dea01388895</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>22</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Generi type inheritance ????</title>
		<description><![CDATA[<p><blockquote>
<div>leeappdalecom wrote:</div>
<div>This is something like recursive generics lol<br>
<br>
Your saying a container class that is the same type as the type it consumes?<br>
<br>
I dont actually see a use for this apart from recursively creating a data structure that can consume itself.&nbsp; Why would you need this?<br>
</div>
</blockquote>
<br>
<br>
<br>
I'll give you a clear 'simplified'&nbsp;example : <br>
<br>
I have an aplication that is modulary built and pases&nbsp;entities (Class instances of type Entity) between modules in a loosely coupled fashion through a service.<br>
<br>
Those entities are in the order of hundreds.<br>
<br>
The thing is that over time for&nbsp;some entities there was&nbsp;the need to&nbsp;store snapshots&nbsp;them (an sorth of undo capability)<br>
<br>
So the chosen path here was for those entities to implement the <br>
&quot;ISnapshot&quot; interface. Wich meant subclassing and Implementing the interface or just implementing without sublasing<br>
<br>
The thing is that the implementation is not dependent of the entities internal working. Is the same implementation over and over for every entity.<br>
<br>
It has a StoreSnapshot method that basicaly clones the entity and store'it along with some other info.<br>
<br>
So for this particular type of problem :<br>
&nbsp;- either write the same code (Copy Code) for every entity&nbsp;manualy - (VB6 Style)<br>
- either use a for of automation like VB Scripts to implement the interfaces<br>
- either use some sort of code generator <br>
<br>
to do basicaly the same thing . Implement an Interface on a type tha't not dependent of the types's topology.<br>
<br>
And the rezult was hundreds of identical implementations of the interface.<br>
<br>
The other aproach would have been to create a Container Class to store the entities. But this could't be accomplished because :<br>
<br>
- first of all a new service that passed container clases around had to be created to pas the new containe objects storing also the enties them selves and the snapshot data.<br>
<br>
- The entities travel through&nbsp;diferent modules, some of wich are not interested in the snapshot capabilies of the entities so containers could'n be passed to them only entities. And it wasn't desired make those modules aware of the new type only for passing
 it arround.<br>
<br>
- An module that dind't knew about the snapsot could't just recive an entity without container because he coul pass it to a module thar recognizes it and need it but that info would have been los.<br>
<br>
<br>
I realy hope I managed to create a picture here ... <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /><br>
<br>
All this would have been infinitly more simple if <br>
<br>
I could do this :<br>
<br>
class Snapshot&lt;T&gt; : &nbsp;T, ISnapshot&nbsp;where T : Entity {<br>
<br>
}<br>
<br>
and just modify my factory class to create Snapsot entities ould have solvel my problem in 5 mins not days , not to mention maintanace or the posibility of refactoring.<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/f3121d2e5ea640dea3969dea01388841#f3121d2e5ea640dea3969dea01388841</link>
		<pubDate>Wed, 08 Mar 2006 15:31:06 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/f3121d2e5ea640dea3969dea01388841#f3121d2e5ea640dea3969dea01388841</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>22</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Generi type inheritance ????</title>
		<description><![CDATA[<p><blockquote>
<div>TomasDeml wrote:</div>
<div>
<blockquote>
<table>
<tbody>
<tr>
<td><img src="/Themes/AlmostGlass/images/icon-quote.gif"></td>
<td><strong>AndyC wrote:</strong> <i>You can solve this sort of problem with <a href="http://en.wikipedia.org/wiki/Multiple_inheritance" target="_blank">
Multiple Inheritance</a>, C# doesn't support this although the CLR does. I think only C&#43;&#43; provides it at the moment.</i></td>
</tr>
</tbody>
</table>
</blockquote>
<br>
<br>
What? CLI (and IL) supports multiple inheritance? Since when? If I missed something, correct me...<img src="/emoticons/emotion-1.gif" border="0"><br>
</div>
</blockquote>
<br>
<br>
CLI doesn't support multiple inheritance, but Eifel DotNET DOES! <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /> ( ... some fishy workaround using interfaces ofc)</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/4937f952834249539e839dea013887b8#4937f952834249539e839dea013887b8</link>
		<pubDate>Tue, 07 Mar 2006 16:57:02 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/4937f952834249539e839dea013887b8#4937f952834249539e839dea013887b8</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>22</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Pass hashed info through query string</title>
		<description><![CDATA[<p><blockquote>
<div>dwoodard wrote:</div>
<div>
<p>Unless you are using SSL, you realize that this is not secure? A hacker wouldn't need to do anything but capture the hash and that would be as good as having the password itself.<br>
</p>
</div>
</blockquote>
<br>
<br>
well he said &quot;pass hashed string&quot; not encripted string <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /> it should be a diference. The first is not necesarly secure</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/164692-Pass-hashed-info-through-query-string/93d0e8828e5a4380b48d9dea013890eb#93d0e8828e5a4380b48d9dea013890eb</link>
		<pubDate>Tue, 07 Mar 2006 15:39:54 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/164692-Pass-hashed-info-through-query-string/93d0e8828e5a4380b48d9dea013890eb#93d0e8828e5a4380b48d9dea013890eb</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>11</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Pass hashed info through query string</title>
		<description><![CDATA[<p>static void Main(string[] args)</p>
<p>{ </p>
<p>string toEncode = &quot;This will be base64 encoded!&quot;;</p>
<p>string encoded = Convert.ToBase64String(System.Text.Encoding.Default.GetBytes(toEncode));</p>
<p>Console.WriteLine(encoded);</p>
<p>}<br>
<br>
<br>
Be sure to have the same Defaul Encoder where you decode the string <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif' alt='Wink' /></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/164692-Pass-hashed-info-through-query-string/75bfc8ec620a4cc196519dea0138901d#75bfc8ec620a4cc196519dea0138901d</link>
		<pubDate>Tue, 07 Mar 2006 13:29:28 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/164692-Pass-hashed-info-through-query-string/75bfc8ec620a4cc196519dea0138901d#75bfc8ec620a4cc196519dea0138901d</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>11</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Generi type inheritance ????</title>
		<description><![CDATA[<p>I'm, not talking about mixins , they are slithly diferent than what I mean. I don't just want an agregation of fields and methods&nbsp;created from clases.<br>
<br>
Also what I'm saying is not like &quot;Multiple Inheriance&quot; at all, the new classes still have a single inheritance path<br>
<br>
for my previouse&nbsp;example :<br>
<br>
class MyClass&lt;T&gt; : T {<br>
}<br>
<br>
MyClass&lt;Employ&gt; is a subclass o Employ and that's is his type is <br>
<br>
typeof (MyClass&lt;Employ&gt;) wich IS an Employ derived type<br>
<br>
<br>
also MyClass&lt;Company&gt; is a Company type and the only conection to MyClass&lt;Employ&gt; could be the fact that they both are objects<br>
<br>
<br>
Also i thing the same constraigt system could be applied for &quot;this&quot; reference inside the generic class<br>
<br>
<br>
<br></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/22970b687b18499eb2029dea01388764#22970b687b18499eb2029dea01388764</link>
		<pubDate>Tue, 07 Mar 2006 13:21:01 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/22970b687b18499eb2029dea01388764#22970b687b18499eb2029dea01388764</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>22</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Pass hashed info through query string</title>
		<description><![CDATA[<p>one posible way would be to encode it as base64 string using Convert class<br></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/164692-Pass-hashed-info-through-query-string/a3a1231b45794221ba7d9dea01388fcb#a3a1231b45794221ba7d9dea01388fcb</link>
		<pubDate>Tue, 07 Mar 2006 13:06:59 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/164692-Pass-hashed-info-through-query-string/a3a1231b45794221ba7d9dea01388fcb#a3a1231b45794221ba7d9dea01388fcb</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>11</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Generi type inheritance ????</title>
		<description><![CDATA[<p>Actualy it doesn't break any encapsulation it's just inheritance <img src='http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-1.gif' alt='Smiley' /> if inheritance breaks encapsulation this does too.<br>
<br>
If it is done by the rules of inheritance it does't break encapsulation . It can't.&nbsp;&nbsp;&nbsp; &nbsp;How?<br>
<br>
And btw MyClass&lt;String&gt; it should't be ilegal because String&nbsp;is a sealed class.<br>
<br>
so If <br>
<br>
<p>class MyClass : string {&nbsp; // not legal 'String' is&nbsp;sealed class<br>
}<br>
VS Error :<br>
&quot;Error&nbsp;1&nbsp;'Testing.MyClass': cannot derive from sealed type '&quot;<br>
<br>
so should be :<br>
</p>
<p>MyClass&lt;String&gt; instance;&nbsp;<br>
<br>
<br>
I don't see any where your objections are coming from. <br>
<br>
I dind't try to sugest a way to break encapsulation but a way to construct a&nbsp;generic type that subclases another type at use time.<br>
<br>
And I'm not sugesting any new features or anithing that can't be done with curent language and platform features</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/1eb5ac0aa4ef4a45bb399dea01388739#1eb5ac0aa4ef4a45bb399dea01388739</link>
		<pubDate>Tue, 07 Mar 2006 12:53:40 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/1eb5ac0aa4ef4a45bb399dea01388739#1eb5ac0aa4ef4a45bb399dea01388739</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>22</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Video Streaming</title>
		<description><![CDATA[<p>simplest way? just upload-it and set the server&nbsp;mime type if not set already</p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/164647-Video-Streaming/cd215f1a91a541e089f99dea0138753b#cd215f1a91a541e089f99dea0138753b</link>
		<pubDate>Tue, 07 Mar 2006 11:25:12 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/164647-Video-Streaming/cd215f1a91a541e089f99dea0138753b#cd215f1a91a541e089f99dea0138753b</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>4</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
	<item>
		<title>Tech Off - Generi type inheritance ????</title>
		<description><![CDATA[<p>Anyone at Microsoft ever considered to include generic type inheritance in the next release?<br>
<br>
What I mean is someting like this :<br>
<br>
&nbsp;class MyClass&lt;T&gt; : T {<br>
}<br>
<br>
where the inheritance chain is chosen when the type is constructed.<br>
<br>
I personaly forsee this to be very useful and i'll give a small example :&nbsp;<br>
<br>
Let's say an ipothethical&nbsp;scenario where I want to give&nbsp;an arbitrary class the ability to store state and snapshot info. Ofcourse I could do this by simply subclasing it or create a generic class to be a container ofering those capablities, but :
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - in the first case the same implemetation must be done for every new type (Copy code)</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - in the second case the ineritance chain is lost so the container type can't be used in place o the actual type.<br>
<br>
Other useful usages caul be somethin like DataTable&lt;Person&gt; or DataTable&lt;Company&gt; where the DataTable&lt;&gt; type ads an ItemArray property, and RowVersionPropery etc. an actualy makes extens the class so it can be added to an datatable ...
<br>
<br>
Anyone else had those kind of ideeas before?</p></p>]]></description>
		<link>http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/164668#164668</link>
		<pubDate>Tue, 07 Mar 2006 09:34:54 GMT</pubDate>
		<guid isPermaLink="false">http://channel9.msdn.com/Forums/TechOff/164668-Generi-type-inheritance-/164668#164668</guid>
		<dc:creator>Pop Catalin</dc:creator>
		<slash:comments>22</slash:comments>
		<wfw:commentRss>http://channel9.msdn.com/Niners/Pop Catalin Sever/Discussions/RSS</wfw:commentRss>
	</item>
</channel>
</rss>