Ich arbeite derzeit an einem SSIS-Paket und nach dem 80. Mal mit FireInformation in einer Skriptaufgabe muss ich mich fragen: Warum würde die Methode erfordern, dass Sie einen Ref-Boolean als letzten Parameter übergeben? In der Dokumentation wird nichts darüber angegeben, wie Sie auf den Wert reagieren sollten, sobald die Methode zurückgegeben wird. Fehle ich hier etwas?SSIS: Neugierig: Warum ist der letzte Parameter in FireInformation Methode ein Ref bool?
Antwort
Die Laufzeitmaschine hat die Fähigkeit, die „fireAgain“ Parameter und verhindern die weitere Abfeuern der Ereignisse zu ändern. Um dies zu tun, muss die Laufzeit Zugriff auf die Variable haben. Dies kann nur geschehen, wenn der Parameter von ref übergeben wird.
Es ist FireAgain Parameter.
Da das Auslösen eines Ereignisses teuer sein kann, bietet die Laufzeit-Engine einen Mechanismus zum Unterdrücken von Ereignissen, an denen Sie nicht interessiert sind. Jede Ereignisauslösemethode verfügt über einen FireAgain-Parameter. Wenn der Wert dieser Variablen false ist, wird der Aufrufer nach der Rückkehr der Methode dieses Ereignis für die Dauer der aktuellen Ausführung nicht erneut auslösen. Source
Das erklärt immer noch nicht, warum die Designwahl es zu einem Ref-Parameter machen soll. Insbesondere, da der Aufrufer derjenige war, der die Methode aufgerufen hat, kennt der Aufrufer bereits den Wert des booleschen Parameters. Es ergibt keinen Sinn für mich. – enriquein
Sie haben gerade eine Frage von vor 4 Jahren wieder auferstehen lassen: P – enriquein