gpt4 book ai didi

c# - 如何访问从 Powershell 的 .NET 事件返回的对象参数

转载 作者:太空宇宙 更新时间:2023-11-03 13:40:52 25 4
gpt4 key购买 nike

好的,所以我对 powershell 还很陌生,我正在使用它来调用我创建的 .NET dll,到目前为止一切都很好,直到我尝试使用 Register-ObjectEvent cmdlet。我可以很好地附加到我创建的自定义 .NET 事件,但似乎无法访问从该事件传递的对象!

下面是我正在使用的委托(delegate)和事件声明

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

然后是在代码中触发事件的调用

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

如何读取 powershell 中的“更新”对象?

最佳答案

您可以在 -Action 脚本 block 中使用 $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

关于c# - 如何访问从 Powershell 的 .NET 事件返回的对象参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17083371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com