Delegaci są często używane w C# do wdrażania zdarzeń i oddzwonienia. Tworząc delegata, który można przypisać do metody, możesz utworzyć mechanizm dla innych części kodu, który zostanie powiadomiony, gdy nastąpi konkretne zdarzenie, lub podać metodę wywołania, gdy określone działanie zostanie zakończone. Delegaci są potężnym narzędziem w języku C# i są istotną częścią wielu zaawansowanych technik programowania.
Delegaci w C#
Delegat jest podobny do wskaźnika funkcji w C lub C ++, ale z dodatkowymi możliwościami, takimi jak połączenie wielu metod w pojedynczy delegat, wywołując listę metod w sekwencji i przekazanie parametrów do metod, oto składnia dla niego:
delegat publiczny( )
W powyższej składni jest typ zwrotu metody, do której wskazuje delegat. jest nazwą delegata i są parametry, które metoda przyjmuje.
Jak używać delegatów w C#
Aby użyć delegata, musisz najpierw zdefiniować typ delegata, który określa podpis metody lub metod, z których może się odwoływać. Typ delegata można zdefiniować za pomocą słowa kluczowego delegatu, a następnie typu return, nazwy delegata i listy parametrów dla metod lub metod, które może odwołać się. Aby zilustrować użycie delegatów w C Sharp, podałem przykładowy kod, który wykonuje proste dodanie i odejmowanie:
za pomocą systemu;
delegat publiczny int PerformCalculation (int x, int y);
Kalkulator klasy publicznej
public int add (int x, int y)
zwrócić x + y;
public int odejmowanie (int x, int y)
powrót x - y;
Program klasowy
Statyczne pustka główna (String [] args)
Kalkulator kalkulator = nowy kalkulator ();
Kalkulacja wykonywania Kalkulacja 1 Kalkulator.Dodać;
Int wynik = CalculationDelegat (5, 3);
Konsola.WriteLine ($ "indil = wynik");
calculationDelegate = kalkulator.Odejmować;
wynik = CalculationDelegat (5, 3);
Konsola.WriteLine ($ „subtraction = wynik”);
Konsola.Czytaj linię();
Najpierw zdefiniowano delegat wykonania, które przyjmuje dwa parametry całkowitej, aw zwrotach daje liczbę całkowitą. Definiuje również klasę kalkulatora z dwiema metodami: dodaj i odejmij odpowiednio operacje dodawania i odejmowania.
W głównej metodzie tworzona jest instancja klasy kalkulatora, a następnie metoda dodawania jest przypisywana do obliczania zmiennej delegatu. Oznacza to, że CalculationDelegat można teraz użyć do wywołania metody dodawania klasy kalkulatora. Metoda Add jest wywoływana za pomocą ConculationDelegat z argumentami 5 i 3.
Następnie ConculationDelegat jest przypisany do metody odejmowania klasy kalkulatora. Oznacza to, że ConculationDelegat można teraz użyć do wywołania metody odejmowania klasy kalkulatora. Metoda odejmowania jest wywoływana przy użyciu ConculationDelegat z argumentami 5 i 3. Funkcja Readline () jest wywoływana, aby zapobiec natychmiastowej zamknięciu okna konsoli, oto wyjście kodu:
Wniosek
Delegaci są powszechnie używane w C# do obsługi zdarzeń, funkcji wywołania zwrotnego i jako sposób przekazywania funkcji jako argumentów do innych funkcji. Zapewniają elastyczny sposób obsługi funkcji w sposób zorientowany na obiekt, ułatwiając napisanie kodu.