Nie ma łatwy sposób aby to zrobić, pozostawiając auto-właściwość w miejscu.
Jeśli nie wymagają właściwość auto, konwersji kodu do korzystania z prywatnej zmiennej i nieautomatyczny właściwość:
private List<string> membershipIds = new List<string>();
public List<string> MembershipIds {
get { return membershipIds; }
set { membershipIds = value; }
}
Jeśli nie wymagają automatycznego nieruchomość, trzeba dokonać przyporządkowania w konstruktorze:
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
}
Rewizja, ale kiedy "wymaga auto-własności"? –
Łańcuchy 'this()' wymagają korekty składniowej. –
@JeppeStigNielsen Dzięki, dziś rano przełączyłem się na tryb Java! Myślę, że jedyny przypadek, w którym wymagałoby się auto-własności, dotyczy standardu kodowania obejmującego całą firmę, który wymaga ich użycia. Nie mogę wymyślić technicznego powodu, aby wymagać ich użycia w stosunku do zmiennej + get/set pair. – dasblinkenlight