Zwrócenie wyniku obliczenia z metody do textbox'a

0

Witam
Mam taki o to problem, Mam klasę :

public class Dzialka
    {
        public double dlugosc;
        public double szerokosc;
        public string Nr_ewi;
        
        public double Pole()
        {
            return dlugosc * szerokosc;
        }

        public double Obwod()
        {
            return 2 * dlugosc + 2 * szerokosc;
        }
    }

i po kliknięciu w button, chciałbym aby Metoda Pole i Obwód z klasy Działka zwróciło mi wynik do textbox'a

  private void button1_Click(object sender, EventArgs e)
        {
            Dzialka dzialka = new Dzialka();
            textBox6.Text = ToString(dzialka.Pole());
            //textBox5.Text;
        }

To co robię jest źle, proszę o podpowiedz jak to być powinno, jakiej konwersji użyć, i czy w ogóle ta klasa z tą metodą jest dobrze napisana, czy może w metodach Obwód i Pole mam podać parametry?.
Proszę o pomoc.

0

Może ten zapis będzie poprawniejszy ? Spróbowałem za jego pomocą i wrzuciło wartość do textboxa.

 textBox5.Text = dzialka.pole().ToString();
0

Obwód i pole powinny być właściwościami, nie metodami.

0

somekind nie jestem aż tak obeznany w programowaniu, a jaka to jest różnica
Stworzyłem tablicę typu Obiektowego Dzialka jak mogę teraz dodać do niej dane?
Wyrzuca mi komunikat "Use the "new" Keyword to create on object instance"

Dzialka[] tablica = new Dzialka[10]; Deklaracja tablicy typu Dzialka

0

Właściwość to cecha danego obiektu. Skoro masz Działkę, to jej cechami są np. Szerokość, Długość i wynikające z nich Pole oraz Obwód. Nie ma sensu, żeby te dwie rzeczy były metodami. Metoda ma coś robić, a nie tylko zwracać wynik prostego działania.

Ponadto, lepiej nie używać pól publicznych tylko właściwości. Ja bym Twoją klasę napisał raczej tak:

public class Dzialka
    {
        public double Dlugosc { get; set; }
        public double Szerokosc { get; set; }
        public string NrEwi { get; set; }
 
        public double Pole
        {
            get { return this.Dlugosc * this.Szerokosc; }
        }
 
        public double Obwod
        {
            get { return 2 * this.Dlugosc + 2 * this.Szerokosc; }
        }
    }
gxpavlo napisał(a)

Stworzyłem tablicę typu Obiektowego Dzialka jak mogę teraz dodać do niej dane?

Stwórz obiekt typu działka, ustaw jego właściwości i umieść w tablicy. Nie wiem, o co konkretnie pytasz. :)

0

drobna modyfikacja klasy

public class Dzialka
    {
        public double dlugosc;
        public double szerokosc;
        public string Nr_ewi;
 
        public void Dzialka(int dl, int szer)
        {
            dlugosc = dl;
            szerokosc = szer;
        }
        public double Pole()
        {
            return dlugosc * szerokosc;
        }
 
        public double Obwod()
        {
            return 2 * dlugosc + 2 * szerokosc;
        }
    }

natomiast to
Dzialka[] tablica = new Dzialka[10];
powinno byc zapisane jako

Dzialka[] tablica = new Dzialka[10];
for (int i=0;i<10;i++)
tablica[i] = new Dzialka(10,10);

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