<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Nazim Lala</title><link>http://blogs.msdn.com/nazimms/default.aspx</link><description>Internet Information Server (IIS)</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Blog moved ...</title><link>http://blogs.msdn.com/nazimms/archive/2008/12/01/blog-moved.aspx</link><pubDate>Mon, 01 Dec 2008 11:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9159881</guid><dc:creator>NazimMS</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/nazimms/comments/9159881.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nazimms/commentrss.aspx?PostID=9159881</wfw:commentRss><description>This post has been long overdue ... I have moved my blog to &lt;A href="http://blogs.iis.net/nazim/"&gt;http://blogs.iis.net/nazim/&lt;/A&gt;&amp;nbsp;since I moved to the Internet Information Server team 2 years ago. I still get questions about NETCF from this blog, but I rarely get time to respond ... mostly because I don't know the answers on the top of my head anymore.&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9159881" width="1" height="1"&gt;</description></item><item><title>Reform at Microsoft - tech and non-tech stuff</title><link>http://blogs.msdn.com/nazimms/archive/2006/04/30/587273.aspx</link><pubDate>Mon, 01 May 2006 02:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:587273</guid><dc:creator>NazimMS</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/nazimms/comments/587273.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nazimms/commentrss.aspx?PostID=587273</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Verdana color=#000000 size=2&gt;I have been reading much these days about reform at Microsoft, both technology and management-wise on all these different blog sites like mini msft. I have taken an analytic stance while reading a lot of these posts; not because I don't think they concern me, but mostly because I understand most of these perspectives and I am &lt;STRONG&gt;rarely&lt;/STRONG&gt; shocked by any of them.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;While doing this it struck me that perhaps it's time for me to do my own research ... a very basic one at that. I am going to ask random&amp;nbsp;people&amp;nbsp;I approach in everyday life&amp;nbsp;"&lt;STRONG&gt;&lt;EM&gt;Name me one thing&amp;nbsp;you really hate about any Microsoft OS&lt;/EM&gt;&lt;/STRONG&gt;". After the first 3 people asked me what an "OS" was I felt like these people must be from Mars or something and that I should perhaps ask a different sort of people.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;But it came quite quickly to me that my sample was not flawed and that any attempt to change my sample was going to skew the results. After, the first three tries, it took me about a week to start asking again. So I rephrased my question the next time around to "&lt;STRONG&gt;Name me one thing you really hate about any Microsoft product&lt;/STRONG&gt;".&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I have asked this question to 63 people in 6weeks so far (yes I don't get out as often as I would like to), and to my surprise only 16 people named &lt;STRONG&gt;one&lt;/STRONG&gt; thing, almost everyone else named more than one!!&amp;nbsp;7 people either brushed off my question with an "&lt;STRONG&gt;I don't care&lt;/STRONG&gt;" look or didn't seem to notice me&amp;nbsp;at all. Maybe they thought I was trying to sell them something :)&amp;nbsp;Even more surprising, the 16 people that named only one item seemed to be on the more knowledgable side of technology (yeah I know this a'int exactly analytical ... but after being in the tech industry for 6+ years, my gut instinct has rarley failed me).&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Frankly, this was baffling in itself ... but it does not end here. More than half said that MSN search "&lt;STRONG&gt;&lt;EM&gt;sucked"&lt;/EM&gt;&lt;/STRONG&gt; and that Google was so much better. The funny thing is that I didn't really have MSN search on my mind when I was talking about Microsoft products. Anyways, I humored these folks and asked them if they had tried something besides google and MSN search. Most answered "&lt;STRONG&gt;NO&lt;/STRONG&gt;" instantaneously, however 3 of them asked me "&lt;STRONG&gt;What do you mean?&lt;/STRONG&gt;". &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The first one to ask me this was a clerk at a Seven Eleven ... and frankly he left me stumbling for words. "&lt;STRONG&gt;Have you tried using something like dogpile or AltaVista or anything like that?"&lt;/STRONG&gt; I asked. "&lt;STRONG&gt;Never heard of them&lt;/STRONG&gt;." said the clerk; the exact same response I got from the other two who asked me what I meant.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;At least 30 people also told me that "&lt;STRONG&gt;Windows slows down my machine after running for a while&lt;/STRONG&gt;" or variants thereof. 12 mentioned "&lt;STRONG&gt;Word doesn't do what I ask it do&lt;/STRONG&gt;" or variants thereof.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The bottom line here is that I didn't hear IE or Vista or Visual Studio or things that most of these blogs seem to critically analyze even once. Not any in my sample seemed forward-looking. And yeah ... I live in Redmond, WA, so expected a lot of techies. I have tried to stay true to my sampling, but maybe I have unintentionally not approached anyone I thought would work for Microsoft. I am not going to attempt any explanation of the data, just present the data. I have some guesses, but I am sure I would keep second-guessing myself till I forget my own name.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;So what do you folks think? Got any more questions for me to ask around? This would be a great way to build up my annoyance factor I guess. So if my career at Msft doesn't work out too well ... I could try selling insurance or vacuum cleaners to the aged :)&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=587273" width="1" height="1"&gt;</description></item><item><title>AppDomain unload and teardown</title><link>http://blogs.msdn.com/nazimms/archive/2005/10/04/477067.aspx</link><pubDate>Tue, 04 Oct 2005 23:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:477067</guid><dc:creator>NazimMS</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/nazimms/comments/477067.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nazimms/commentrss.aspx?PostID=477067</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I spent some time playing with Whidbey and noted some AppDomain unload/termination behavior that is not entirely intuitive. These apply to both the full .NET framework as well as .NET Compact Framework 2.0.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The documentation resides at &lt;A href="http://msdn2.microsoft.com/en-us/library/03yhawcy"&gt;http://msdn2.microsoft.com/en-us/library/03yhawcy&lt;/A&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Here's a run-through of the scenarios where unload fails and an AppDomain tear-down occurs.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;STRONG&gt;1) Thread blocked in native code.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Say that a thread in my AppDomain is blocked in a PInvoke call. Say Main() is running in AD1 and we create AD2 from here and the main thread in AD2 does a PInvoke that never returns. At this point if I try to unload AD2 from AD1, Thread.Abort on the blocked thread in AD2 doesn't return back and so the 10-second timeout kicks in. At this point AD2 is forcefully torn-down, we get a CannotUnloadAppDomainException in AD1. At this point if Main() in AD1 swallows this exception and returns, the application is still alive, because it still has a live thread in AD2.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;STRONG&gt;2) Thread in a Constrained Execution Region (CER)&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;A CER is a region of code where &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;a) The runtime is constrained from throwing out of band exceptions that would prevent the code from executing in its entirety.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;b) User code is constrained from executing code that would result in the throwing of out of band exceptions.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;This includes ThreadAbortException handlers, finally clauses, finalizers etc. The AppDomain tear down occurs just like in "1)".&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=477067" width="1" height="1"&gt;</description></item><item><title>Sending and receiving SMS using NETCF</title><link>http://blogs.msdn.com/nazimms/archive/2005/09/08/462495.aspx</link><pubDate>Thu, 08 Sep 2005 20:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:462495</guid><dc:creator>NazimMS</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/nazimms/comments/462495.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nazimms/commentrss.aspx?PostID=462495</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;There are a whole bunch of disjoint samples and documentation out on the web right now for this task that is just cumbersome to use and integrate. So I thought I should integrate all these snippets (see links below for sources) into one uber solution (managed + native) for VS 2005 beta users. You can download this sample from&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=5477acd6-d58d-41d0-9390-ed0daa1f9dda"&gt;&lt;FONT face=Verdana size=2&gt;http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=5477acd6-d58d-41d0-9390-ed0daa1f9dda&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;U&gt;What does this sample contain:&lt;/U&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;This is a VS 2005 project that contains both the native and managed portions in one easy to deply solution. The default configurations are to deploy to a Windows Mobile 5.0 Pocket PC. So besides VS 2005 Beta you will need the &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=83a52af2-f524-4ec5-9155-717cbe5d25ed&amp;amp;DisplayLang=en"&gt;WM 5.0 SDK for Pocket PC &lt;/A&gt;and &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=dc6c00cb-738a-4b97-8910-5cd29ab5f8d9&amp;amp;DisplayLang=en"&gt;SmartPhone&lt;/A&gt;&amp;nbsp;to use this project as intended.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;It uses the receiving SMS message base sample from &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=98CCF3D4-DB7C-4A7D-A323-53BBDBBE0420&amp;amp;displaylang=en"&gt;&lt;FONT face=Verdana size=2&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=98CCF3D4-DB7C-4A7D-A323-53BBDBBE0420&amp;amp;displaylang=en&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;and tags along enhancements from &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/ReceivingSMSMessages.asp"&gt;&lt;FONT face=Verdana size=2&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/ReceivingSMSMessages.asp&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;and &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/mobility/default.aspx?pull=/library/en-us/dnnetcomp/html/receivingsmsmessages.asp"&gt;&lt;FONT face=Verdana size=2&gt;http://msdn.microsoft.com/mobility/default.aspx?pull=/library/en-us/dnnetcomp/html/receivingsmsmessages.asp&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=1&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" face=Verdana color=#808080&gt;Disclaimer(s):&lt;BR&gt;This posting is provided "AS IS" with no warranties, and confers no rights. &lt;BR&gt;Some of the information contained within this post may be in relation to beta software. Any and all details are subject to change.&lt;/FONT&gt; &lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=462495" width="1" height="1"&gt;</description></item><item><title>World's First ''3-dimensional Movement Recognition'' Phone </title><link>http://blogs.msdn.com/nazimms/archive/2005/01/25/360359.aspx</link><pubDate>Tue, 25 Jan 2005 23:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:360359</guid><dc:creator>NazimMS</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/nazimms/comments/360359.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nazimms/commentrss.aspx?PostID=360359</wfw:commentRss><description>&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="80%"&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Well here is the &lt;STRONG&gt;Samsung SCH-S310&lt;/STRONG&gt; recently unveiled in Korea. What's special about this phone is the built-in '&lt;EM&gt;&lt;STRONG&gt;Accelerometer&lt;/STRONG&gt;&lt;/EM&gt;' which can accurately calculate and ascertain movement in three dimensional space and then carry out commands according to those calculations. So you would write a '0' by moving the phone in that pattern and it will pick it up as such as an input. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;It would be fascinating to see how the interfaces for phones evolve with the use of spatial recognition technology they employ in this new Samsung phone. You can check out the full story at &lt;/FONT&gt;&lt;A href="http://home.businesswire.com/portal/site/google/index.jsp?ndmViewId=news_view&amp;amp;newsId=20050112005522&amp;amp;newsLang=en"&gt;&lt;FONT face=Verdana size=2&gt;BusinessWire&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;.&lt;/FONT&gt; &lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;IMG src="http://img.phonescoop.com/img/news/samsung-s310_4.jpg"&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=360359" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/nazimms/archive/tags/Phones/default.aspx">Phones</category></item><item><title>Reflection support for generic types in .NET Compact Framework</title><link>http://blogs.msdn.com/nazimms/archive/2005/01/25/360324.aspx</link><pubDate>Tue, 25 Jan 2005 22:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:360324</guid><dc:creator>NazimMS</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/nazimms/comments/360324.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nazimms/commentrss.aspx?PostID=360324</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Version 2 of .NET Compact Framework (NETCF) will provide support for parametric polymorphism aka Generics. You can get a good feel for the feature support from&amp;nbsp;blog posts by &lt;A href="http://www.demsey.org/blog/PermaLink.aspx?guid=6301c9c2-c73d-4dab-bf00-4450f2a55bb8"&gt;Seth&lt;/A&gt;&lt;A href="http://www.demsey.org/blog/PermaLink.aspx?guid=6301c9c2-c73d-4dab-bf00-4450f2a55bb8"&gt; &lt;/A&gt;&lt;A href="http://www.demsey.org/blog/PermaLink.aspx?guid=6301c9c2-c73d-4dab-bf00-4450f2a55bb8"&gt;Demsey&lt;/A&gt; and &lt;A href="http://weblogs.asp.net/romanbat/archive/2005/01/06/348114.aspx."&gt;Roman&lt;/A&gt;&lt;A href="http://weblogs.asp.net/romanbat/archive/2005/01/06/348114.aspx."&gt; &lt;/A&gt;&lt;A href="http://weblogs.asp.net/romanbat/archive/2005/01/06/348114.aspx."&gt;Batoukov&lt;/A&gt;. It would also be useful to go over Generics terminology as presented in &lt;a href="http://blogs.msdn.com/kcwalina/archive/2004/03/15/89860.aspx"&gt;this&lt;/A&gt; article in section 1.1.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Evidently since this language feature adds to the very nature of types in the CLR, one could safely assume need for special support when reflecting on these types … and such is the case. Below is a list of new Reflection APIs provided to assist in discovering information about a generic type/method through reflection. It should be noted however that previously existent reflection APIs like Type.GetMethods() etc would also discover generic methods and the like.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1" align=center&gt;&lt;SPAN style="FONT-SIZE: 18pt; COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#a9a9a9&gt;I. New Reflection APIs for generic support.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1" align=center&gt;&lt;SPAN style="FONT-SIZE: 18pt; COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#a9a9a9&gt;&lt;FONT size=1&gt;&lt;/FONT&gt;&lt;o:p&gt;&lt;FONT size=1&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1" align=center&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;(Note: This list is current as of .NET Framework 2.0 Beta 1 and may change henceforth.)&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;
&lt;HR id=null&gt;

&lt;P&gt;&lt;/P&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: brown; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#000000&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;1. System.Type&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: brown; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#000000&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" size=2&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: darkgreen; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#808080&gt;Properties&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;A href="http://longhorn.msdn.microsoft.com/lhsdk/ref/ns/system/c/type/p/containsgenericparameters.aspx"&gt;&lt;FONT color=#808080&gt;ContainsGenericParameters&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;A href="http://longhorn.msdn.microsoft.com/?//longhorn.msdn.microsoft.com/lhsdk/ref/ns/System/c/Type/p/hasgenericarguments.aspx"&gt;&lt;FONT color=#808080&gt;HasGenericArguments&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;A href="http://longhorn.msdn.microsoft.com/lhsdk/ref/ns/system/c/type/p/isgenericparameter.aspx"&gt;&lt;FONT color=#808080&gt;IsGenericParameter&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;A href="http://longhorn.msdn.microsoft.com/lhsdk/ref/ns/system/c/type/p/isgenerictypedefinition.aspx"&gt;&lt;FONT color=#808080&gt;IsGenericTypeDefinition&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: darkgreen; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#808080&gt;Methods&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;A href="http://longhorn.msdn.microsoft.com/lhsdk/ref/ns/system/c/type/m/bindgenericparameters.aspx"&gt;&lt;FONT color=#808080&gt;BindGenericParameters&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;A href="http://longhorn.msdn.microsoft.com/lhsdk/ref/ns/system/c/type/m/getgenericarguments.aspx"&gt;&lt;FONT color=#808080&gt;GetGenericArguments&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;A href="http://longhorn.msdn.microsoft.com/lhsdk/ref/ns/system/c/type/m/getgenerictypedefinition.aspx"&gt;&lt;FONT color=#808080&gt;GetGenericTypeDefinition&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: brown; FONT-FAMILY: Verdana"&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#000000&gt;2. System.Reflection.MethodInfo&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: darkgreen; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#808080&gt;Properties&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;A href="http://longhorn.msdn.microsoft.com/lhsdk/ref/ns/system.reflection/c/methodinfo/p/containsgenericparameters.aspx"&gt;&lt;FONT color=#808080&gt;ContainsGenericParameters&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;A href="http://longhorn.msdn.microsoft.com/lhsdk/ref/ns/system.reflection/c/methodinfo/p/hasgenericarguments.aspx"&gt;&lt;FONT color=#808080&gt;HasGenericArguments&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;A href="http://longhorn.msdn.microsoft.com/lhsdk/ref/ns/system.reflection/c/methodinfo/p/isgenericmethoddefinition.aspx"&gt;&lt;FONT color=#808080&gt;IsGenericMethodDefinition&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: darkgreen; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#808080&gt;Methods&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;A href="http://longhorn.msdn.microsoft.com/lhsdk/ref/ns/system.reflection/c/methodinfo/m/bindgenericparameters.aspx"&gt;&lt;FONT color=#808080&gt;BindGenericParameters&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;A href="http://longhorn.msdn.microsoft.com/lhsdk/ref/ns/system.reflection/c/methodinfo/m/getgenericarguments.aspx"&gt;&lt;FONT color=#808080&gt;GetGenericArguments&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;A href="http://longhorn.msdn.microsoft.com/lhsdk/ref/ns/system.reflection/c/methodinfo/m/getgenericmethoddefinition.aspx"&gt;&lt;FONT color=#808080&gt;GetGenericMethodDefinition&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1" align=center&gt;&lt;SPAN style="FONT-SIZE: 18pt; COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#a9a9a9&gt;II. How and where&amp;nbsp;would I use it?&lt;/FONT&gt; 
&lt;HR id=null&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: brown; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#000000&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;1. Creating generic types via reflection.&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;NETCF does not have runtime IL verification and metadata validation and hence cannot validate generic parameter constraints for normal execution scenarios (if the compiler did not catch the error at compile time). However, if one were to use reflection, i.e. get an open generic type and the bind parameters to it via &lt;B&gt;BindGenericParameters()&lt;/B&gt; API, constraint validation would be performed. So if constraint validation is important to you, use the reflection API to bind parameters (if the compiler would not catch the error). Here is an example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Say I have a generic type:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;public class MyGenericType&amp;lt;T, U&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;where T: IFormattable&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;where U: IConvertible&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;{}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Something like &lt;B&gt;MyGenericType&amp;lt;Int32, Object&amp;gt;&lt;/B&gt; should not be allowed, since &lt;B&gt;System.Object&lt;/B&gt; does not implement &lt;B&gt;IConvertible&lt;/B&gt;. However if you were to write code that looked as below, we would validate the constraints on &lt;B&gt;MyGenericType&lt;/B&gt; and throw an exception.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;Type foo = Type.GetType("MyGenericType`2");&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;Type[] params = new Type[] {typeof(Int32), typeof(Object)};&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;Type bar = foo.BindGenericParameters(params); &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;// This will throw an exception because constraints are not met.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Type &lt;B&gt;foo &lt;/B&gt;above&amp;nbsp;denotes the &lt;I&gt;open&lt;/I&gt; type for &lt;B&gt;MyGenericType&lt;/B&gt;, meaning no generic parameters have been bound to it yet. The &lt;I&gt;open&lt;/I&gt; type is also referred to as the Generic Type Definition. The "`2" (back-tick) notation refers to the number of generic parameters on the type. So a class like&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;public class GenType2&amp;lt;T1, T2, T3, T4&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;would have an open type notation of &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;Type foo2 = Type.GetType("GenType2`4");&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"&gt;Creating a &lt;I&gt;bound&lt;/I&gt; type for &lt;B&gt;GenType2&lt;/B&gt; would look something like what is shown below. As one would guess, the types &lt;B&gt;foo3&lt;/B&gt;, &lt;B&gt;foo4&lt;/B&gt; and &lt;B&gt;foo5&lt;/B&gt; are identical.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;Type foo3 = Type.GetType("GenType2`4[System.Int32, System.Int32, System.Int32, System.Int32]");&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;GenType2&amp;lt;Int32, Int32, Int32, Int32&amp;gt; bar2 = new GenType2&amp;lt;Int32, Int32, Int32, Int32&amp;gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;Type foo4 = bar2.GetType();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;Type foo5 = typeof(GenType2&amp;lt;Int32, Int32, Int32, Int32&amp;gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;What would the type string look like if one of the generic parameters above was a type in a different assembly? Well it would look something like what is shown below.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;Type foo6 = Type.GetType("MyGenericClass`2[System.Int32, [MyNameSpace.MyExternType, MyExternAssemblyName]]");&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Of course you could also go ahead and provide more information like the public key token if you wanted.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: brown; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#000000&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" size=2&gt;&lt;STRONG&gt;2. Invoking generic methods and methods with generic arguments using &lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: brown; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#000000&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;reflection&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Say I have the following type definition.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;public class MyGenericType &amp;lt;T, U&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void Method1 (T x) {}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void Method2&amp;lt;V&amp;gt; () {}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Method1&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt; is a method which has a generic argument and &lt;B&gt;Method2&lt;/B&gt; would be a generic method. Hopefully this example helped untangling your brain from the topic being discussed. In Method1, the first argument &lt;B&gt;x&lt;/B&gt; happens to be of the same type as the first generic parameter that &lt;B&gt;MyGenericType&lt;/B&gt; was created with (&lt;B&gt;T&lt;/B&gt;). In &lt;B&gt;Method2&lt;/B&gt; however, &lt;B&gt;V&lt;/B&gt; is a generic type and has no relation to the generic parameters used to create &lt;B&gt;MyGenericType&lt;/B&gt;. Here's how these methods would be called in the normal execution scenario.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;MyGenericType&amp;lt;Int32, Double&amp;gt; mgt = new MyGenericType&amp;lt;Int32, Double&amp;gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;Int32 i = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;mgt.Method1( i );&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;mgt.Method2&amp;lt;System.DateTime&amp;gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Here's how you would do it using reflection.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;MethodInfo mi1 = typeof(mgt).GetMethod("Method1");&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;MethodInfo mi2 = typeof(mgt).GetMethod("Method2");&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;mi1.Invoke(mgt, new object[] {5}); // The method argument has to be castable to an Int32.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;MethodInfo mi2_bound = mi2.BindGenericParameters(typeof(System.DateTime));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;mi2_bound.Invoke(mgt, new object[] {});&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;MethodInfo mi2_unbound = mi2_bound.GetGenericMethodDefinition();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;As you noticed we had to first bind a generic parameter to &lt;B&gt;Method2&lt;/B&gt; before we could Invoke it. In the code above, &lt;B&gt;mi2_unbound&lt;/B&gt; would be the same as &lt;B&gt;mi2&lt;/B&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1" align=center&gt;&lt;SPAN style="FONT-SIZE: 18pt; COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#a9a9a9&gt;III. Limitations&lt;/FONT&gt; 
&lt;HR id=null&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: brown; FONT-FAMILY: Verdana"&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#000000&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;1. Getting members&amp;nbsp;of&amp;nbsp;open generic types&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Getting members, methods or interfaces of open generic types is not supported in NETCF. You will get a &lt;B&gt;NotSupportedException&lt;/B&gt; thrown when you attempt to do something similar to what is shown below.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;Type t = Type.GetType("MyGenericType`2");&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;Type[] InterfaceList = t.GetInterfaces() &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;// This will throw a NotSupportedException&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;MethodInfo mi = t.GetMethod("Method1"); &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; FONT-FAMILY: 'Courier New'"&gt;// This will throw a NotSupportedException&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;What you would need to do to work around this is to simply bind some type parameters to your generic type (instantiate it) and then attempt to get its members.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Verdana"&gt;Type t = Type.GetType("MyGenericType`2[System.Int32, System.Int32]");&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Verdana"&gt;MethodInfo mi = t.GetMethod("Method1"); &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Verdana"&gt;// This will work.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: brown; FONT-FAMILY: Verdana"&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#000000&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;2. Methods/Properties&amp;nbsp;not supported on formal types&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;If&amp;nbsp;you were to&amp;nbsp;call &lt;B&gt;GetGenericArguments()&lt;/B&gt; on an &lt;I&gt;open&lt;/I&gt; generic type, you would get the generic parameter list ... also called &lt;I&gt;formal&lt;/I&gt; parameters.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;Type t = Type.GetType("MyGenericType`2");&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;Type[] genargs = t.GetGenericArguments(); &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;The array &lt;B&gt;genargs&lt;/B&gt; would actually contain the type &lt;B&gt;T&lt;/B&gt; and &lt;B&gt;U&lt;/B&gt; as defined in the class definition. You are limited to what you can actually call on this &lt;I style="mso-bidi-font-style: normal"&gt;formal&lt;/I&gt; type. Attempting to access &lt;B&gt;BaseType&lt;/B&gt;, &lt;B&gt;DeclaringType&lt;/B&gt;, &lt;B&gt;ReflectedType&lt;/B&gt; etc. would result in a &lt;B&gt;NotSupportedException&lt;/B&gt; being thrown. This is also true if you attempt to get interfaces, methods or members on it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: brown; FONT-FAMILY: Verdana"&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#000000&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;3. Discovering constraints on parameters through reflection.&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;NETCF does &lt;U&gt;not&lt;/U&gt; support the &lt;B&gt;GetGenericParameterConstraints()&lt;/B&gt; API and as such you will not be able to look up the constraints on generic parameters of any generic type/method through reflection. Another mechanism that the full .NET framework provides for discovering this is through discovery on &lt;I&gt;formal&lt;/I&gt; parameters, but the restrictions on &lt;I&gt;formal&lt;/I&gt; parameters stated above in III.2&amp;nbsp;would prevent you from doing this on NETCF. This restriction is further elaborated in IV.2.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: brown; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#000000&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" size=2&gt;&lt;STRONG&gt;4. Can't resolve method signature ambiguities because of lack of reflection &lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: brown; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#000000&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;on open types.&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Say I have a type definition that looks something as shown below.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;public class Generic2P &amp;lt;T, U&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void method (T x) {}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void method (U y) {}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;public class Generic1P &amp;lt;R&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void method&amp;lt;S&amp;gt;(S s)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Generic2P&amp;lt;R, S&amp;gt; foo = new Generi2P&amp;lt;R, S&amp;gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foo.method(s);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;If for the instantiation of &lt;B&gt;Generic1P&lt;/B&gt;'s &lt;B&gt;method&lt;/B&gt; has the same type used for both its generic parameters &lt;B&gt;R&lt;/B&gt; and &lt;B&gt;S&lt;/B&gt;, then it would result in ambiguity as to which &lt;B&gt;method&lt;/B&gt; would be called on &lt;B&gt;Generic2P&lt;/B&gt;. For example if I have&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;Generic1P&amp;lt;int&amp;gt; bar = new Generic1P&amp;lt;int&amp;gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;bar.method&amp;lt;int&amp;gt;(5);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Then this would result in &lt;B&gt;Generic2P&amp;lt;int, int&amp;gt;&lt;/B&gt; getting created and &lt;B&gt;Generic2P&amp;lt;int, int&amp;gt;.method(int)&lt;/B&gt; being called. However there will be two methods with this exact same signature. Both NETCF and the full .NET framework will default to the same method, but what if that is not the method you want to call?&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;On the full .NET framework one could get methods on the &lt;I&gt;open&lt;/I&gt;&amp;nbsp;type &lt;B&gt;Generic2P&amp;lt;T, U&amp;gt;&lt;/B&gt; and based on the &lt;I&gt;formal&lt;/I&gt; parameter used as the argument in the method, you could fetch the right method and bind parameters/arguments to it and invoke it. However since we can not get methods or members on &lt;I&gt;open&lt;/I&gt; types in NETCF we would not be able to do this and you would not be able to manually resolve signature ambiguities.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1" align=center&gt;&lt;SPAN style="FONT-SIZE: 18pt; COLOR: blue; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#808080&gt;IV. Differences with the full .NET Framework&lt;/FONT&gt; 
&lt;HR id=null&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: brown; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#ffffff&gt;&lt;FONT style="BACKGROUND-COLOR: #808080"&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" color=#000000 size=2&gt;&lt;STRONG&gt;1. Lack of TargetException, TargetInvocationException, &lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: brown; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#ffffff&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;&lt;FONT style="BACKGROUND-COLOR: #808080"&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" color=#000000&gt;TargetParameterCountException&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;NETCF does not support the above mentioned exceptions that are thrown on the full .NET framework when one attempts to call &lt;B&gt;BindGenericParameters() &lt;/B&gt;with illegal arguments. On NETCF the following substitutions occur.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;TargetException &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;-&amp;gt; &lt;B&gt;ArgumentNullException&lt;/B&gt;, &lt;B&gt;InvalidProgramException&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;TargetInvocationException &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;-&amp;gt; &lt;B&gt;MissingMethodException&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;TargetParameterCountException&amp;nbsp;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;-&amp;gt; &lt;B&gt;ArgumentException&lt;/B&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: brown; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#000000&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;2. Constraint hierarchy vs. Derivation hierarchy.&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;Consider the following type definitions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;public interface InterfaceA {}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;public interface InterfaceB {}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;public class BaseA: InterfaceA {}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;public class InheritedA: BaseA, InterfaceB {}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;public class BaseB&amp;lt;T&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;where T: InterfaceA&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;{}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;public class InheritedB&amp;lt;T&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;where T: BaseB&amp;lt;T&amp;gt;, InterfaceB&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: 'Courier New'"&gt;{}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;In the case of &lt;B&gt;InheritedA&lt;/B&gt;, it inherits from &lt;B&gt;BaseA &lt;/B&gt;that implements &lt;B&gt;InterfaceA&lt;/B&gt;. This hierarchy would constitute the &lt;I&gt;derivation hierarchy&lt;/I&gt;. In the case of &lt;B&gt;InheritedB&lt;/B&gt;, its generic parameter is constrained to inheriting from &lt;B&gt;BaseB&amp;lt;T&amp;gt;&lt;/B&gt;, whose generic parameter is constrained to implementing &lt;B&gt;InterfaceA&lt;/B&gt;. This hierarchy would constitute the &lt;I&gt;constraint hierarchy&lt;/I&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;On the full .NET framework, if we were to get the formal type &lt;B&gt;T &lt;/B&gt;via a call to &lt;B&gt;GetGenericArguments()&lt;/B&gt; on the open type &lt;B&gt;InheritedB&lt;/B&gt;; we could traverse the constraint hierarchy as if it were a derivation hierarch by using the &lt;B&gt;BaseType &lt;/B&gt;property and calling &lt;B&gt;GetInterfaces()&lt;/B&gt; method on it. In NETCF however we distinguish between the two and do not allow you to treat constraint hierarchy as if it were a derivation hierarchy. So you cannot use the BaseType property and the &lt;B&gt;GetInterfaces()&lt;/B&gt; method to peruse the constraint hierarchy. Instead you would get a &lt;B&gt;NotSupportedException &lt;/B&gt;thrown at you.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 13.5pt; COLOR: brown; FONT-FAMILY: Verdana"&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff"&gt;&lt;FONT color=#000000&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;3. Differences in exceptions thrown.&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;There are many places where we throw &lt;B&gt;MissingMethodExceptions &lt;/B&gt;instead of &lt;B&gt;ArgumentExceptions &lt;/B&gt;and the like. Hopefully this will be addressed in another blog post that will be soon to come.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;
&lt;HR id=null&gt;
&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt; mso-outline-level: 1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;This posting is provided "AS IS" with no warranties, and confers no rights.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=360324" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/nazimms/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/nazimms/archive/tags/NETCF/default.aspx">NETCF</category><category domain="http://blogs.msdn.com/nazimms/archive/tags/Generics/default.aspx">Generics</category><category domain="http://blogs.msdn.com/nazimms/archive/tags/Reflection/default.aspx">Reflection</category></item><item><title>Generics in .NET Compact Framework</title><link>http://blogs.msdn.com/nazimms/archive/2005/01/19/356461.aspx</link><pubDate>Thu, 20 Jan 2005 00:11:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:356461</guid><dc:creator>NazimMS</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/nazimms/comments/356461.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nazimms/commentrss.aspx?PostID=356461</wfw:commentRss><description>&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Here's an informative article about generics in the upcoming version of .NET Compact Framework by Roman.&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;a href="http://weblogs.asp.net/romanbat/archive/2005/01/06/348114.aspx"&gt;http://weblogs.asp.net/romanbat/archive/2005/01/06/348114.aspx&lt;/a&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Verdana" size="2"&gt;I am in the process of writing an article about reflection support for generic types in the .NET Compact framework. It should be posted some time soon hopefully.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=356461" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/nazimms/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/nazimms/archive/tags/CLR/default.aspx">CLR</category><category domain="http://blogs.msdn.com/nazimms/archive/tags/NETCF/default.aspx">NETCF</category><category domain="http://blogs.msdn.com/nazimms/archive/tags/Generics/default.aspx">Generics</category><category domain="http://blogs.msdn.com/nazimms/archive/tags/Reflection/default.aspx">Reflection</category></item><item><title>Themes for your SmartPhone.</title><link>http://blogs.msdn.com/nazimms/archive/2004/12/14/301475.aspx</link><pubDate>Wed, 15 Dec 2004 01:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:301475</guid><dc:creator>NazimMS</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/nazimms/comments/301475.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nazimms/commentrss.aspx?PostID=301475</wfw:commentRss><description>&lt;p&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://smartphonethemes.com/preview.asp?ID=1687"&gt;&lt;font face="Verdana"&gt;http://smartphonethemes.com/preview.asp?ID=1687&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://smartphonethemes.com/preview.asp?ID=1688"&gt;&lt;font face="Verdana"&gt;http://smartphonethemes.com/preview.asp?ID=1688&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://smartphonethemes.com/preview.asp?ID=1686"&gt;&lt;font face="Verdana"&gt;http://smartphonethemes.com/preview.asp?ID=1686&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Verdana"&gt;Just copy the xml and the image file to your \Windows directory. The theme should then show up under&amp;nbsp;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Verdana"&gt;&amp;nbsp;&lt;font color="#a9a9a9"&gt;&amp;nbsp;&amp;nbsp;Settings-&amp;gt;Home Screen.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Verdana"&gt;Its quite easy to create your own theme ... and you can create things that look so much better than PPC themes. The current wysiwg editor for SmartPhone themes does not let you create these kind of themes ... but it shouldn't be too hard to write one up.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=301475" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/nazimms/archive/tags/SmartPhone/default.aspx">SmartPhone</category><category domain="http://blogs.msdn.com/nazimms/archive/tags/Themes/default.aspx">Themes</category></item><item><title>MSIL code/fault injection using .NET profiling APIs</title><link>http://blogs.msdn.com/nazimms/archive/2004/12/09/279247.aspx</link><pubDate>Fri, 10 Dec 2004 03:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:279247</guid><dc:creator>NazimMS</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/nazimms/comments/279247.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nazimms/commentrss.aspx?PostID=279247</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Recently I have been looking into painless ways to do some amount of code injection for MSIL for fault tolerance and security testing. One of my requirements was to be able to do this dynamically. I had found some tools that would do it statically by creating wrapper dlls that would use Reflection, but these were a pain to use and had severe limitations (and bugs).&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I found a link to this article on one of my google excursions and it caught my attention: &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/msdnmag/issues/03/09/NETProfilingAPI/default.aspx"&gt;&lt;FONT face=Verdana size=2&gt;Rewrite MSIL Code on the Fly with .Net Framework Profiling API&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; by Aleksandir Mikunov. Besides being an exhaustive article, it certainly gives me ideas on approaching the whole dynamic fault injection space ... &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Since the profiler can intercept the JIT compilation process, I could insert a custom prologue that would contain trigger logic to either execute the method or fail as I would want it to. It seems feasible enough ... but of course I haven't tried this out yet.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I am sure someone else has already thought about this ... so what I am now wondering if someone out there has already attempted a tool like this. If not ... hey, I have my next December project !&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=279247" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/nazimms/archive/tags/CLR/default.aspx">CLR</category></item><item><title>Creating PocketPC themes</title><link>http://blogs.msdn.com/nazimms/archive/2004/07/20/189368.aspx</link><pubDate>Wed, 21 Jul 2004 04:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:189368</guid><dc:creator>NazimMS</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/nazimms/comments/189368.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nazimms/commentrss.aspx?PostID=189368</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;So I just got a query about how to create PPC themes. Well it's simple ... we have a tool ... Pocket PC theme generator !&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;A href="http://www.microsoft.com/windowsmobile/downloads/themegenerator.mspx"&gt;http://www.microsoft.com/windowsmobile/downloads/themegenerator.mspx&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=189368" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/nazimms/archive/tags/Pocket+PC/default.aspx">Pocket PC</category><category domain="http://blogs.msdn.com/nazimms/archive/tags/Themes/default.aspx">Themes</category></item><item><title>Pocket PC themes - NETCF</title><link>http://blogs.msdn.com/nazimms/archive/2004/07/20/189316.aspx</link><pubDate>Tue, 20 Jul 2004 23:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:189316</guid><dc:creator>NazimMS</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/nazimms/comments/189316.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nazimms/commentrss.aspx?PostID=189316</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;A long time ago I made some NETCF themes for the Pocket PC ... so I thought I should share them out for all the customization fanatics out there. Have fun !&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.pocketpcthemes.com/preview.asp?ID=18517"&gt;&lt;FONT face=Verdana size=2&gt;http://www.pocketpcthemes.com/preview.asp?ID=18517&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.pocketpcthemes.com/preview.asp?ID=18519"&gt;&lt;FONT face=Verdana size=2&gt;http://www.pocketpcthemes.com/preview.asp?ID=18519&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.pocketpcthemes.com/preview.asp?ID=18520"&gt;&lt;FONT face=Verdana size=2&gt;http://www.pocketpcthemes.com/preview.asp?ID=18520&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.pocketpcthemes.com/preview.asp?ID=18521"&gt;&lt;FONT face=Verdana size=2&gt;http://www.pocketpcthemes.com/preview.asp?ID=18521&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=189316" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/nazimms/archive/tags/Pocket+PC/default.aspx">Pocket PC</category><category domain="http://blogs.msdn.com/nazimms/archive/tags/Themes/default.aspx">Themes</category></item><item><title>Yet another first blog post (+some code of course)</title><link>http://blogs.msdn.com/nazimms/archive/2004/06/24/165257.aspx</link><pubDate>Fri, 25 Jun 2004 02:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:165257</guid><dc:creator>NazimMS</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/nazimms/comments/165257.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nazimms/commentrss.aspx?PostID=165257</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I would like to say something clever in my first post, but testing generics has my brain tied up in knots.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I am currently an SDET in .Net Compact Framework at Microsoft testing security and generics. Its been 2 years for me on this team and I have to say it is the best team I have worked with so far.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;It has been customary for me to post some code on my first blog and I am not about to break that tradition today. So here it is:&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT face="Courier New" size=2&gt;#include&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt; &amp;lt;stdio.h&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT face="Courier New" size=2&gt;main(&lt;FONT color=#0000ff&gt;int&lt;/FONT&gt; argc, &lt;FONT color=#0000ff&gt;char&lt;/FONT&gt; **argv)&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT face="Courier New" size=2&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;while&lt;/FONT&gt; (*argv != argv[1] &amp;amp;&amp;amp; (*argv = argv[1]) &amp;amp;&amp;amp; (argc = 0) || (*++argv&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT face="Courier New" size=2&gt;&amp;amp;&amp;amp; (**argv &amp;amp;&amp;amp; ((++argc)[*argv] &amp;amp;&amp;amp; (**argv &amp;lt;= argc[*argv] ||&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT face="Courier New" size=2&gt;(**argv += argc[*argv] -= **argv = argc[*argv] - **argv)) &amp;amp;&amp;amp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT face="Courier New" size=2&gt;--argv || putchar(**argv) &amp;amp;&amp;amp; ++*argv--) || putchar(10))))&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT face="Courier New" size=2&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT face="Courier New" size=2&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;You should be able to compile this code in VS. Try figuring out what it does ...&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=165257" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/nazimms/archive/tags/Personal/default.aspx">Personal</category><category domain="http://blogs.msdn.com/nazimms/archive/tags/C_2F00_C_2B002B00_/default.aspx">C/C++</category></item></channel></rss>