Por que a inicialização da coleção lança NullReferenceException

O código a seguir lança umNullReferenceException:

internal class Foo
{
    public Collection<string> Items { get; set; } // or List<string>
}

class Program
{
    static void Main(string[] args)
    {
        new Foo()
            {
                Items = { "foo" } // throws NullReferenceException
            };
    }
}
Por que os iniciadores de coleções não funcionam neste caso, emboraCollection<string> implementa oAdd() e por que NullReferenceException é lançada?É possível obter o inicializador de coleção funcionando ou éItems = new Collection<string>() { "foo" } a única maneira correta de inicializá-lo?

questionAnswers(4)

yourAnswerToTheQuestion