znalazłem ten kod:Jaki jest pożytek z Invoke() w .net?
this.Invoke(new EventHandler(EventGetSum));
Czy to nie to samo co piśmie:
EventGetSum();
Po co z tego?
znalazłem ten kod:Jaki jest pożytek z Invoke() w .net?
this.Invoke(new EventHandler(EventGetSum));
Czy to nie to samo co piśmie:
EventGetSum();
Po co z tego?
Jeśli napiszesz EventGetSum()
, że natychmiast dzwoni metody EventGetSum.
Jeśli napiszesz new EventHandler(EventGetSum)
, który utworzy delegata, który (z kolei) wywoła EventGetSum, gdy zostanie wywołany.
Wywołanie Control.Invoke
wywołuje podanego delegata z wątku interfejsu użytkownika odpowiedzialnego za formant. Jest to konieczne, ponieważ nie można uzyskać dostępu do elementów interfejsu z dowolnych wątków.
Wykonuje on metodę EventGetSum
w wątku, do której należy okno this
.
Zwykle jest używany do obsługi połączeń z wieloma wątkami.
Zobacz dokumentację MSDN dla ISynchronizeInvoke.
To bardzo zły tytuł, może powinieneś rozważyć zmianę go na coś bardziej opisowego? – grapefrukt
Sprawdź to pytanie http://stackoverflow.com/questions/571706/shortest-way-to-write-a-thread-safe-access -method-do-windows-forms-control/571749 # 571749 – alex2k8