Wątek przeniesiony 2016-10-13 00:56 z C# i .NET przez somekind.

Setter uzycie

0

public int a
{
get
{
return a*2;
}
set
{
a = 5+value;
}
}

Pojawia się error StackOverflowException
Chcialem ustawic jakies metody np przy wpisywaniu do zmiennej dodać 5. A jak wypisuje to przemnożone razy 2;

Pozdrawiam i z góry dziękuje za pomoc.

2

Utwórz sobie prywatne pole a bez żadnych getterów i setterów oraz publiczne pole A, w którym one już będą.

5
get
{
return a*2;
}

Żeby odczytać wartość a, wywoływany jest getter, który zwraca a*2. Żeby odczytać wartość a z tego wyrażenia, wywoływany jest getter, który zwraca a*2. Żeby odczytać wartość a z tego wyrażenia...

2

 class Klasa
    {
        private int a;

        public int A
        {
            get { return a; }
            set { a = 5 + value; }
        }
    }

:D

0

Czytalem wlasnie i oczywiście można dodać dodatkową zmienną 'a' to 'A' czy podobnie. Myslalem jednak aby od razu tę samą zmienną mnożyć/inkrementować. Dziękuję wszystkim za pomoc. :)

2

Jeszcze małe sprostowanie- a to pole (ang. field) natomiast A to właściwość (ang. property).

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