gpt4 book ai didi

powershell - 如何在 PowerShell 中向 .NET 对象添加事件处理程序?

转载 作者:行者123 更新时间:2023-12-04 01:48:15 24 4
gpt4 key购买 nike

我正在编写一个使用第三方库的 PowerShell 脚本。我正在使用的对象之一要求我添加一个事件处理程序。 The event delegate looks like this :

public delegate void TSBPGPCreateOutputStreamEvent(object Sender, 
string Filename,
System.DateTime TimeStamp,
ref System.IO.Stream Stream,
ref bool FreeOnExit)

在 PowerShell 中,我尝试这样做:
$reader.Add_OnCreateOutputStream( {
param(
$sender,
$fileName,
$timestamp,
[ref]
$stream,
[ref]
$freeOnExit
)
$stream = New-Object IO.MemoryStream
} )

但我收到此错误消息:
 Cannot convert value "
param(
$sender,
$fileName,
$timestamp,
[ref]
$stream,
[ref]
$freeOnExit
)
$stream = New-Object IO.MemoryStream
" to type "SBPGP.TSBPGPCreateOutputStreamEvent".
Error: "The type 'System.IO.Stream&' may not be used as a type argument."

有没有更好的订阅事件的方式?为什么不能将 Stream 类型用作类型参数?我究竟做错了什么?

最佳答案

您应该使用 Register-ObjectEvent cmdlet,请使用以下命令查看您自己系统上的示例:

PS> Get-Help Register-ObjectEvent -full

关于powershell - 如何在 PowerShell 中向 .NET 对象添加事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11888342/

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