Odwołanie do niezainicjalizowanego obiektu, a inicjalizacja listy w konstruktorze

0

Cześć,

mam taką klasę:

    public class TemporaryOutterParameter
    {
        public string ParameterName { get; set; }
        public List<string> AllowedValues { get; set; }
        public TemporaryOutterParameter(string parameterName)
        {
            ParameterName = parameterName;
            List<string> AllowedValues = new List<string>();
        }
    }

i w innym miejscu chciałbym dodać wartość do AllowedValues:

currentTemporaryOutterParameter.AllowedValues.Add(currentEnumTSString.myEnumTSString);

Przy wyjściu z konstruktora widzę, że nie jest to pusta lista (nie jest null, choć ma zero wartości):

AllowedValues = Count = 0

Natomiast w miejscu, gdzie chciałbym dodać wartość do AllowedValues, wartość ta jest nullem:

currentTemporaryOutterParameter.AllowedValues = null

Co może być tego przyczyną?

Otrzymuję wyjątek, potwierdzający powyższe spostrzeżenia:

Object reference not set to an instance of an object.

Pozdrawiam!

1

zmień:
List<string> AllowedValues = new List<string>();
na:
this.AllowedValues = new List<string>();

1

Po prostu w konstruktorze tworzysz zmienną lokalną przez to, że napisałaś typ, czyli List<string> (pewnie przez pośpiech). Zrób jak napisał @havi będzie dobrze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1