[C#] Przekazywanie danych pomiędzy klasami

0

Mam problem. Posiadam 2 klasy:

class1
{

    //jest to formularz, który zawiera datagridview 

    foreach(......)
    {
         class2 c2 = new class2();
         c2.MetodaWykonującaPewneCzynnościZKlasy2(argsy);
    }
}

class2
{
    //metody tej klasy wykonują pewne czynności, które w trakcie generują pewne dane, które powinny być wyświetlane w dgv z klasy 1.
}

Nie wiem jak sprawnie przekazywać dane z klasy2 w trakcie wykonywania tej metody.
Najlepiej chciałbym zaprojektowac metode updatejąca dgv (będącą składową class1) i która będzie wywoływana z poziomu class2.

0

poczytaj o eventach i delegatach

0

a jak bindujesz dane z gridView? przez DataSource? jesli tak wystarczy ze klasie class2 przekazesz referencje do zrodla danych i bedziesz je modyfikowal
lub referencje do danych reprezektujacych wiers i bedziesz je modyfikowal
zmienione dane przeloza sie na wartosci w grid
chyba ze mowimy o asp .net nie formsach, wtedy dane wiazane sa po wywolaniu DataBind(), wiec ewentualne modyfikacje musza nastapic wczesniej

0
massther napisał(a)

a jak bindujesz dane z gridView? przez DataSource? jesli tak wystarczy ze klasie class2 przekazesz referencje do zrodla danych i bedziesz je modyfikowal
lub referencje do danych reprezektujacych wiers i bedziesz je modyfikowal
zmienione dane przeloza sie na wartosci w grid
chyba ze mowimy o asp .net nie formsach, wtedy dane wiazane sa po wywolaniu DataBind(), wiec ewentualne modyfikacje musza nastapic wczesniej

tak, przez właściwość DataSource, w sumie też o tym myślałem. Ale słyszałem kiedyś o delegacjach, tylko nie wiem czy można ich używać wywołując metody w innej klasie.

0

delegat to jakby referencja do funkcji, musi byc zgodny z deklaracja funkcji, tzn. takie same przyjmowac parametry i to samo zwracac

http://msdn.microsoft.com/en-us/library/ms173171(VS.90).aspx

mozna, tylko pytanie czy w twoim przypadku potrzeba
im prostsze rozwiazanie tym lepiej :)

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