Modyfikatory dostępu do właściwości

Odpowiedz Nowy wątek
2011-09-01 23:09
0

Witam!

Używam .NET 4.0. Mam w klasie jedno pole prywatne i właściwość, która zwraca oraz ustawia to pole:

protected int seconds;
 
public int Seconds
{
    get
    {
                return seconds;
    }
    set
    {
                seconds = value;
    }
}

Dlaczego nie mogę poprzedzić właściwości modyfikatorem private ani protected?
Nie mogę również ustawić modyfikatora dostępu do samych bloków get i set.
Wydaje mi się, że we wcześniejszych wersja .NET była taka możliwość.

Pozostało 580 znaków

2011-09-02 00:59
0
Szach napisał(a)

Dlaczego nie mogę poprzedzić właściwości modyfikatorem private ani protected?

Chyba nie ma powodu, dla którego miałbyś nie móc. Co twierdzi kompilator?

Nie mogę również ustawić modyfikatora dostępu do samych bloków get i set.

Możesz, tylko muszą być bardziej restrykcyjne niż modyfikator właściwości.

Wydaje mi się, że we wcześniejszych wersja .NET była taka możliwość.

Wydaje mi się, że twórcy .NET nie wprowadziliby zmiany powodującej niemożliwość skompilowania milionów linii istniejącego kodu.

Pozostało 580 znaków

2011-09-02 07:24
0
somekind napisał(a)
Szach napisał(a)

Dlaczego nie mogę poprzedzić właściwości modyfikatorem private ani protected?

Chyba nie ma powodu, dla którego miałbyś nie móc. Co twierdzi kompilator?

Kurcze, nie wiem dlaczego, ale wczoraj kompilator wywalał błąd (już nie pamiętam jaki), a dzisiaj wszystko się kompiluje... ehh :/
Dzięki za odpowiedź!

Pozostało 580 znaków

2011-09-05 17:34
msm
0

Pewnie chodziło o błąd (który somekind wspomniał)

The accessibility modifier of the 'xxx.get' accessor must be more restrictive than the property or indexer xxx.

Czyli taki kod się nie skompiluje:

        private bool Foo
        {
            private get;
            set;
        }

Za to taki owszem:

        public bool Foo
        {
            private get;
            set;
        }

Po prostu modyfikator przed getterem i setterem musi być bardziej ograniczający niż modyfikator całej właściwości.

edytowany 3x, ostatnio: msm, 2011-09-05 17:35
Archełolog. ;) - somekind 2011-09-05 17:49

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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