AddressOf: unterschiedliches Verhalten

11/05/2009 - 01:40 von Armin Zingler | Report spam
Hallo,

man nehme...:

addhandler o.ereignis, addressof OnEreignis 'geht

sub OnEreignis

if invokerequired then
invoke(addressof onereignis) 'geht nicht
else
'...
end if
end sub


Ich hab noch nie verstanden, warum ich beim ersten AddressOf keinen eigenen
Delegat-Typ definieren muss aber beim zweiten Mal schon. Warum? Wo
ist der Unterschied? Weil AddressOf im ersten Fall im Zusammenhang mit der
Addhandler-Anweisung benutzt wird und beim zweiten Fall ein ganz "normaler"
Methoden-Parameter erwartet wird? Fànde ich nicht ganz stimmig weil ein
Delegate wird in beiden Fàllen erwartet. Nur dafür jedes Mal einen eigenen
Delegate-Typ zu deklarieren (wenn nicht schon passender vorhanden), ist
manchmal auch nervig.


Noch was anderes:
Was mich auch schon immer stört, ist, wie man die Parameter für
Ereignishandler herausfinden muss. Also ich mach immer "gehe zu definition"
mit Cursor auf dem Wort 'ereignis' (im obigen Beispiel) und kopiere dann
im Objektbrowser die Deklaration aus dem unteren Panel heraus. Gibt's dafür
keine schnellere/intelligentere Möglichkeit? (außer Withevents)


Armin
 

Lesen sie die antworten

#1 Armin Zingler
11/05/2009 - 01:56 | Warnen spam
Armin Zingler wrote:
... Nur
dafür jedes Mal einen eigenen Delegate-Typ zu deklarieren (wenn nicht
schon passender vorhanden), ist manchmal auch nervig.



Ich würde gerne folgenden Vorschlag an MSFT connect machen:

Neue Syntax:

Delegate From Process.OutputDataReceived OutputDataReceivedDelegate

wàre die komfortable Kurzform für

Delegate Sub OutputDataReceivedDelegate( _
ByVal sender As Object, _
ByVal e As System.Diagnostics.DataReceivedEventArgs)

v.a. weil ich nicht die Signatur selbst heraussuchen muss. Die genaue Syntax
is mir Schnuppe aber es dürfte klar sein, was gemeint ist. Wollt mal eure
Meinung hören ob's vielleicht völliger unsinnig ist bevor ich's einreiche.


Armin

Ähnliche fragen