2

さて、私はpowershellを初めて使用し、それを使用して作成した.NET dllを呼び出しています.Register-ObjectEventコマンドレットを使用するまでは、これまでのところすべて問題ありません。作成したカスタム .NET イベントに問題なくアタッチできますが、イベントから渡されたオブジェクトにアクセスできないようです。

以下は、私が使用しているデリゲートとイベントの宣言です

delegate void ReportResult(ProgressUpdate update);
event Delegates.ReportResult ReportProgressEvent

次に、コード内でイベントを発生させる呼び出し

if (ReportProgressEvent != null)
   ReportProgressEvent(update);

powershell で「更新」オブジェクトを読み取るにはどうすればよいですか?

4

1 に答える 1

1

-Action スクリプトブロックで $event を使用して、イベントにアクセスできます。例えば、

$watcher = New-Object System.IO.FileSystemWatcher -Property @{Path = 'C:\Temp' }
$action = { Write-Host (Split-Path -Path $event.sourceEventArgs.FullPath) }

Register-ObjectEvent -InputObject $watcher -EventName Created -SourceIdentifier FileCreated -Action $action
于 2013-06-13T10:33:00.420 に答える