Last night I caught up on a 50+ message thread over one of our design aliases with many of the “big dogs” on the WinFX team vehemently disagreeing. It is the issue of Strings vs. Uri instances.  Honestly, I don’t know where I personally come down on this one yet.  I am a huge, huge fan of making developers lives easier – anything we can do to push work ON developers at Microsoft that takes works OFF out customers is goodness to me.  That is, after all, the point of the framework.

I mean, do we gain a lot by making developers type

Foo (new Uri (“”)) rather than Foo (“”)?  Can you imagine the number of new Uri() calls there will be in reasonable Indigo code?  This not a performance argument, as the 2nd option will undoubtedly just create a Uri instance to validate the argument.  It is simply a question of developer satisfaction.


On the other hand I have a sneaking feeling (no, I am sure) I don’t really appreciate the effect of pushing this work on MS developers… Are we just leading developers into a pit of despair by using strings for Uris?   Will FxCop and design guidelines be enough to keep us out of trouble?  I just don’t know… yet ;-)


Please comment on Chris’s blog so we have it all in the same place as the debate internally continues.