Programowanie > Inne

[C#] Wyjątek we właściwości

(1/1)

vous93:
Częścią zadania jakie mam do zrobienia jest

--- Cytuj ---Pobranie elementu powinno być zaprogramowane jako właściwość. Efektem ubocznym pobrania powinno być usunięcie elementu z bufora. Pobierany jest zawsze najdawniej dodany element. W przypadku próby pobrania elementu z pustego bufora program powinien zgłosić wyjątek.
--- Koniec cytatu ---
Mój kod wygląda tak:

--- Kod: ---
public T Zwroc
        {
            get
            {
                if (Licznik > 0)
                {
                    Licznik--;
                    return TabBufor[Licznik];
                }
                else
                {
                    Console.WriteLine("Pusty bufor!");
                    return default(T);
                }
            }
               set{
                   TabBufor[Licznik]=default(T);
               }
        }
--- Koniec kodu ---
Tutaj ten wyjątek mam jako zwrócenie napisu Pusty bufor! i wyswietlenie wartosci default(T). Nie jestem pewien czy na pewno o to chodziło. W internecie jest duzo o try i catch ale nie potrafię tego zaimplementować. Proszę o pomoc.

darkdancer:

--- Cytat: vous93 ---Nie jestem pewien czy na pewno o to chodziło.
--- Koniec cytatu ---
Raczej nie o to, wypisanie komunikatu na ekran to nie to samo co zgłoszenie wyjątku. Poza tym przy pustym buforze akcesor, czy jak tam się getter na polski tłumaczy, nie powinien nic zwracać, to programista który będzie pisał kod korzystając z Twojej biblioteki powinien wyjątek obsłużyć.
Tak się podobno nie powinno wg. dokumentacji MSDN robić i nie wiem czy to zadziała ale możesz spróbować w get:

--- Kod: ---
else throw new Exception("Bufor jest pusty i nie chce mi sie czytac dokumentacji wiec zrobilem to na szybko bez implementacji wlasnej klasy wyjatku i za pomoca forum, do tego linuksowego haha ale i tak chce piatke");
--- Koniec kodu ---

Nawigacja

[0] Indeks wiadomości

Idź do wersji pełnej