我正在编写一个使用第三方库的 PowerShell 脚本。我正在使用的对象之一需要我添加一个事件处理程序。 事件委托如下所示:
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 类型用作类型参数?我究竟做错了什么?