Epilogue

Two years ago, I got to participate in the announcement of C# 4.0 on my blog. At the time, Anders Hejlsberg had just given a talk about C# 4.0 at PDC in Los Angeles. Of course, I was still working on the thing with the rest of the C# team, but we shipped this April…

0

On Dynamic Objects and DynamicObject

As you know if you read my blog, C# 4.0 introduced some language features that help you consume dynamic objects. Although it’s not part of the language, most of the writing about dynamic in C# that I have seen, including my own, also contains some point about how you create dynamic objects. And they usually…

0

The Performance of Arrays

Stop me if you’ve heard this one, but here’s some information about how arrays perform, and a neat trick you can do to (possibly) get some performance back. Some background In .NET, arrays of reference types are covariant in their element type, but not safely. Eric, as always, has a post that goes into this…

21

Tour of Southern California, 2010

This week, I’ll be in California to speak at a few user groups about C# 4. This was arranged in coordination with the launch of Visual Studio 2010, and is one of several such tours that people on the VS Languages team are taking/have taken. I’ll be in San Diego, Orange County, and South Bay. The details…

2

Visual Studio 2010 and C# 4 Launch!

As I’m sure you’ve heard, we’re done! And you can download everything at your pleasure. Visual C# Express 2010 is available for free at the following link. For free! http://www.microsoft.com/express/downloads/ You can also download trial versions of the full Visual Studio SKUs from here: http://www.microsoft.com/visualstudio/en-us/download MSDN’s main page is covered in purple and full of…

1

Errata: dynamic conversions and overload resolution

When you stand up and tell the world how your software is supposed to behave a full year or more before you’re done working on it, a funny thing can sometimes happen. You can change your mind. And therefore be wrong by the time the software ships. And so it is with dynamic. Shortly after…

8

Events get a little overhaul in C# 4, Afterward: Effective Events

In Parts I, II, and III, I talked about the slight changes that we made to field like events, to the += and -= event accessor operators, and how this may affect you. Just so we’re all on the same page, I want to consolidate here a list of Dos and Don’ts so you know…

16

Events get a little overhaul in C# 4, Part III: Breaking Changes

In the last two posts, I revealed that field-like events in C# 4 have a better synchronization story, and that we changed += and -= in a kind of subtle way to protect you, in many cases, from the semantic differences this introduces between C# 3 and C# 4. Now I’m here to tell you…

4

Events get a little overhaul in C# 4, Part II: Semantic Changes and +=/-=

Last time, we saw that the field-like event accessor code that the C# compiler emits has changed. And it’s better in a few ways because we’ve banished the locking code that we used to emit. There are a few questions that came up in the comments, and two of them in particular are probably as…

39

Events get a little overhaul in C# 4, Part I: Locks

It’s been a long time since I’ve posted anything about the way the compiler generates field-like events, and I have some good news. We fixed them! Well, anyway, we changed them, and I believe that in C# 4, they are better than they used to be. Read this old post to refresh yourself, if you…

9