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?