Non v'è alcun modo semplice per farlo lasciando la proprietà automatica sul posto.
Se non si necessita di una proprietà di auto, convertire il codice a utilizzare una variabile privata e una proprietà non automatico:
private List<string> membershipIds = new List<string>();
public List<string> MembershipIds {
get { return membershipIds; }
set { membershipIds = value; }
}
Se si richiede l'auto-immobile, è necessario eseguire l'assegnazione nel costruttore:
public List<string> MembershipIds { get;set; }
...
// This constructor will do the assignment.
// If you do not plan to publish no-argument constructor,
// it's OK to make it private.
public MyClass() {
MembershipIds = new List<string>();
}
// All other constructors will call the no-arg constructor
public MyClass(int arg) : this() {// Call the no-arg constructor
.. // do other things
}
public MyClass(string arg) : this() {// Call the no-arg constructor
.. // do other things
}
Suvviato, ma quando uno "richiede una proprietà auto"? –
Le concatenazioni di 'this()' richiedono una correzione sintattica. –
@JeppeStigNielsen Grazie, sono passato alla modalità Java questa mattina! Penso che l'unico caso in cui uno richiederebbe una proprietà automatica è quando c'è uno standard di codifica a livello di azienda che richiede il loro uso. Non riesco a pensare a una ragione tecnica per richiedere il loro uso su una variabile + coppia get/set. – dasblinkenlight