poniedziałek, 23 kwietnia 2012

Nazwy zmiennych w delegatach

Zastanawiałeś się kiedyś po co przy deklaracji delegata wymagane jest podawanie nazw zmiennych nawet jeśli nie są do niczego potrzebne?
Weźmy np prostego delegata przyjmującego 2 inty i zwracającego inta:

public delegate int SimpleDelegate(int x, int y);

Jeśli zdefiniujemy sobie takiego delegata gdzieś w programie to przecież nie używamy nigdzie tych zmiennych:

SimpleDelegate d = new SimpleDelegate(SomeFunction);

Więc czemu nie można zadeklarować delegata np w taki sposób? (kompilator nie pozwala):

public delegate int SimpleDelegate(int, int);

Okazuje się że powodem jest podpowiadanie składni przez IDE. Np przy zastosowaniu metody Invoke na delegacie widzimy nazwy parametrów wpisanych przy deklarowaniu delegata:


Taki wymóg na pewno pomaga w pracy. Czy nie lepiej jest zobaczyć coś takiego jak wyżej zamiast int SimpleDelegate(int, int) ?

Brak komentarzy:

Prześlij komentarz