Utilizando este código:Constructor C# Struct Genérico
struct Foo<T1>
{
public T1 Item1 { get; private set; }
public Foo(T1 item1)
{
Item1 = item1;
}
}
me encuentro con este error:
Backing field for automatically implemented property 'Foo.Item1' must be fully assigned before control is returned to the caller. Consider calling the default constructor from a constructor initializer.
Mi pregunta es, ¿por qué es la propiedad Item1
no asignado totalmente después del constructor se llama?
Editar: Cambió set
a private set
porque esta pregunta no tiene nada que ver con la mutabilidad.
No haga estructuras mutables, por favor. –
¿Por qué no debería? Eso realmente hace que las cosas sean mucho más simples a veces, y puede mejorar bastante el rendimiento en algunos casos de bucle intensivo. ¿Qué pasa con las estructuras mutables? (Eso tampoco responde a su pregunta.) – Mehrdad
@Lambert http://stackoverflow.com/questions/441309/why-are-mutable-structs-evil –