The C# language specification (version 3.0, which comes with both VS2008 and VS2010 beta1) has the following wording describing collection initializers (188.8.131.52, "Collection initializers"):
"For each specified element in order, the collection initializer invokes an Add method on the target object with the expression list of the element initializer as argument list, applying normal overload resolution for each invocation. Thus, the collection object must contain an applicable Add method for each element initializer."
This is underspecified, since it does not detail how the invocation takes place. It refers us to overload resolution; however, the overload resolution section (7.4.3, "Overload resolution") says:
"Overload resolution selects the function member to invoke in the following distinct contexts within C#:
• Invocation of a method named in an invocation-expression (§184.108.40.206).
• Invocation of an instance constructor named in an object-creation-expression (§220.127.116.11).
• Invocation of an indexer accessor through an element-access (§7.5.6).
• Invocation of a predefined or user-defined operator referenced in an expression (§7.2.3 and §7.2.4)."
Note that collection initializers aren't explicitly listed here. Presumably, collection initializer falls under the scope of the first context (invocation of a method). Looking at (18.104.22.168, "Method invocations"), if no method that is a member of a class is applicable, extension methods for the type should be considered.
However, C# implementations in VS2008 and VS2010 don't seem to consider extension "Add" methods in collection initializers, even when such are otherwise in scope. See steps to reproduce for an example.