The VC Team Blog

Recently launched at http://blogs.msdn.com/vcblog, the VC team is attempting an almost frightening level of transparency (in my opinion).  Customer comments I’ve read so far have ranged from mildly disinterested to “I’m never going to use your product again.” Brandon is fond of saying: “Transparency is painful.”  It gives people a glimpse into how we’re attempting…

0

Properties Part 2 – defining default properties

Disclaimer.  This is an ancient post.  By the looks of it, I originally intended to write this almost a year ago, as a follow up to my scalar properties writeup.  That was back when I was testing properties (and more exactly, default properties) and some of the design was still in flux.  Now it’s pretty…

0

The long-awaited return of DF

Back from the dead Well, not precisely dead, but I certainly began feeling that way – shipping a product is hard work, and it is incredibly easy to get “heads down.” Here on the VCQA team, we’re very focused on stabilization. A lot of testruns. Harsh bug bars. Only the highest quality fixes. Beta 2…

9

C++ DF Discussion on hold

Astute readers may note two things: 1) It has been a while since I posted what should have been a followup to the previous posts, wherein I complete my discussion of the C++ DF model, and finally get this DF monkey off my back.  And 2) that a previous post (DF Part 2, where I…

1

Deterministic Finalization IV – Benefits, part II

Long ago, I wrote a post on the first part of DF benefits.  Now, I’m finally getting back to it.  My apologies about the laxness in posting.  Blame it on my Cards losing to the Sox.  And on being really busy with testpasses and bug bounces for a while.  We’re finally settling down a little…

3

Deterministic Finalization III – Benefits, part 1

I’m pretty angry at blogs.msdn.com right now (or maybe I’m just angry at myself), as it completely nuked a post I had composed, because my session had timed out on it.  I went to post, and it asked me to log in, and in the process destroyed a lot of work. I’ll try to put my…

6

Deterministic Finalization I – a primer for CLR Dispose

A large subject like DF needs a few posts.  My generalized plan to lay it out will start by describing the CLR’s Dispose pattern, how our DF pattern works, and finally how the two patterns fit together. The CLR’s Dispose patterns can be quite confusing.  It took me a while to get my mind around Dispose() and…

10

Another good customer bug

Reader Andy Neilson writes in with another bug: The current compiler implementation has some problems. If the variable is a field of this, then the compiler will die. For example: class MyClass { public:   int i;   void Foo() {     array<int>^ x = {1, 2, 3};     for each (i in x)…

1

I love when customers find bugs!

Reader Rob Walker asks: Is there a neat way of handling dictionaries?  I have a Dictionary<Guid, Object^> and want to iterate over the values. Currently I have to use the syntax: for each(KeyValuePair<Guid, Object^> v in dict) {   v.Value … } I can’t find an invocation that would allow for each (Object^ v in…

2

The C++ “for each” syntax

For Each?  I won’t go into a huge justification – suffice to say, there are some instances where it is nice to be able to iterate over a set, and perform operations on each member of that set.  A good primer might be the MSDN node on C# foreach. A basic sample.  If you’re familiar…

15