Sam Ng's Blog
The Pain of deploying Primary Interop Assemblies
Alright, first of all, what are Primary Interop Assemblies (PIAs), and why am I devoting an entire...
Date: 01/24/2010
Channel 9: Dynamic in C#
Not too long ago, I did another Channel 9 video on Dynamic in C# with another compiler dev, Chris...
Date: 11/03/2009
Com interop in C# 4.0: Indexed Properties
One of the things I love about my job is that I get to make people happy. How do I do that? By...
Date: 11/03/2009
COM Interop in C# 4.0
Wow, it’s been a while since I’ve last posted! Don’t worry, I’m still alive and kickin’, and we’re...
Date: 06/16/2009
Named and Optional arguments – ties and philosophies
Okay, my attempt at a clever title failed… Ties and Philosophers? I oughtta stick with technical...
Date: 04/17/2009
Named arguments and overload resolution
Last time we talked about the basics of named arguments, optional arguments, and default values....
Date: 04/01/2009
Named arguments, optional arguments, and default values
C# 4.0 introduces the concept of optional parameter values into the language. Now, this has been a...
Date: 02/04/2009
Dynamic in C# VII: Phantom Method Semantics
By now, my hope is that you all have a well-rounded view of dynamic. We started this series by...
Date: 12/24/2008
Dynamic in C# VI: What dynamic does NOT do
As I mentioned last time, there are a few gotchas that we'll need to look at in order to get a full...
Date: 12/15/2008
Dynamic in C# V: Indexers, Operators, and More!
Now that we're all experts in how dynamic invocations work for regular method calls, lets...
Date: 12/11/2008
Dynamic in C# IV: The Phantom Method
Yes, this does sound like a Star Wars movie, but no, I'm not a Star Wars geek that just likes to...
Date: 11/10/2008
Dynamic in C# III: A slight twist
Last time we dealt with the basics of dynamic binding. This time, we'll add a small twist. First,...
Date: 11/06/2008
Channel 9!
A few weeks ago, a few of us on the compiler team did a Channel9 interview, discussing some of the...
Date: 11/03/2008
Dynamic in C# II: Basics
Last time, we began to dive into dynamic binding in C# and what happens through the pipeline. This...
Date: 11/02/2008
Dynamic in C#
The other day I was playing around with some office code, and I found myself writing a lot of code...
Date: 10/29/2008
Microsoft Visual Studio 2010
The cat's out of the bag! Hours ago at PDC '08, I got to watch Anders unveiled the new C# 4.0...
Date: 10/28/2008
So-cal CodeCamp 08!
I got the opportunity to give a talk at the SoCal CodeCamp 08 this past weekend, and its driven me...
Date: 10/27/2008
Optional Modifiers and Overload Resolution
Optional Modifiers (or modopts) are CLR constructs that allow types to be annotated with optional...
Date: 03/05/2008
Generic Method Substitutions and Unification - Part two
Last time we talked about generic method substitutions which resulted in types being declared with...
Date: 03/03/2008
generic method substitutions and unification
It's been a while since I've last written - my apologies. We've been hard at work figuring out what...
Date: 02/13/2008
VS 2008 is out the door!
On December 19th, we officially announced that VS 2008 is released to manufacturing! This is the...
Date: 12/26/2007
Virtual Events in C#
Technorati Tags: Events One of the things that the language designers considered when designing the...
Date: 11/26/2007
Local variable scoping in C#
In my previous post, Compiler-generated scopes for local variable declarations, I briefly touched on...
Date: 11/09/2007
Compiler-generated scopes for local variable declarations
I was tasked with understanding and fixing a bug on error reporting with foreach iteration variables...
Date: 11/07/2007
Another compiler dev
Hi there. My name is Sam Ng, and I'm a developer on the C# compiler team. This here's my little...
Date: 11/06/2007