Paul on Default Arguments

Paul Vick chimes in on default arguments.  He has some good points; I can believe the main problem with my example is one of generally bad API design.  But I think the technical issue of the default arguments being burned into the callsite still exists… Even though it is a gray area I think changing…


The danger of over simplification: Enum.IsDefined()

I just stumbled across this guideline in the Design Guidelines document and I thought it needed more explanation..   Do argument validation. Do not assume enum arguments will be in the defined range. It is legal to cast any integer value into an enum even if the value is not defined in the enum. public…


Help with this feed..

Hillel points out a cool site making fun of bad design… I find so many parallels in these kind of design issues and API design.  Anyway, I was excited to see that the site offers Xml Syndication, which I assumed was an RSS feed, but it is not.. in a an “rdf” file… which looks…


CLR PUM headed to TwinCities .NET User Group

JasonZ mentions he will be at the TwinCities .NET User Group on 12/4/03… Should be a good chance to get to know the person in charge of the CLR team.



Jeremy notes a 2nd chance at a few of the more popular PDC sessions…


The great naming debates — still..

Some guidelines in the Design Guidelines Document and described in my blog are based on years of experience with managed code and a deep understanding of how developers think about problems and how the runtime really works… And other guidelines…well, to be frank, we flipped a coin.  For some of the guidelines (mostly casing related)…


Default arguments and versioning

I was recently asked about why the CLS (and the Design Guidelines) discourages default arguments.  So I added this annotation to the Design Guidelines document.  I believe it is the same reason why C# (rightfully) left it out of the language.     The issue with default arguments and versioning is that once you define…


Interop whitepaper how/when to use interop

Interop whitepaper with guidelines on how/when to use CLR and C++ interop is now published on MSDN. Link is:


Minor update to the base class guidelines

Fairly minor update — as always, let me know if there are questions or comments. ——————————————————— Consider using abstract classes (even if there are no abstract members) if the class is designed to be a root in an inheritance hierarchy make this clear by not allowing it to be directly used.   Annotation (Brad Abrams): In…


More on 64bit .NET Framework Support

Christopher Brown talks about the 64bit framework in a comment   We definitely plan to support both IA-64 and AMD64 with 32 bit and full 64 bit native frameworks when Whidbey ships. At PDC time, our efforts were serialized and the AMD framework wasn’t quite “baked” enough to give out. By our beta, that will…