Stosując ten kod:Struct C# Generic Konstruktor
struct Foo<T1>
{
public T1 Item1 { get; private set; }
public Foo(T1 item1)
{
Item1 = item1;
}
}
napotykam ten błąd:
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.
Moje pytanie brzmi, dlaczego jest właściwość Item1
nie w pełni przydzielony po konstruktora nazywa?
Edytuj: Zmieniono set
na private set
, ponieważ to pytanie nie ma nic wspólnego z zmiennością.
Nie należy tworzyć struktur zmiennych, proszę. –
Dlaczego nie powinien? To sprawia, że czasami jest o wiele prostsze i może poprawić wydajność w niektórych przypadkach wymagających dużej ilości pętli. Co jest nie tak z zmiennymi strukturami? (To też nie odpowiada na jego pytanie.) – Mehrdad
@ Lambert http://stackoverflow.com/questions/441309/why-are-mutable-structs-evil –