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...

Author: samng 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...

Author: samng 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...

Author: samng 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...

Author: samng 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...

Author: samng Date: 04/17/2009

Named arguments and overload resolution

Last time we talked about the basics of named arguments, optional arguments, and default values....

Author: samng 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...

Author: samng 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...

Author: samng 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...

Author: samng 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...

Author: samng 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...

Author: samng 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,...

Author: samng 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...

Author: samng 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...

Author: samng 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...

Author: samng 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...

Author: samng 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...

Author: samng Date: 10/27/2008

Optional Modifiers and Overload Resolution

Optional Modifiers (or modopts) are CLR constructs that allow types to be annotated with optional...

Author: samng 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...

Author: samng 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...

Author: samng 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...

Author: samng Date: 12/26/2007

Virtual Events in C#

Technorati Tags: Events One of the things that the language designers considered when designing the...

Author: samng Date: 11/26/2007

Local variable scoping in C#

In my previous post, Compiler-generated scopes for local variable declarations, I briefly touched on...

Author: samng 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...

Author: samng 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...

Author: samng Date: 11/06/2007