我在写一个使用第三方库的PowerShell脚本。我正在使用的一个对象要求我添加一个事件处理程序。 The event delegate looks like this:如何将事件处理程序添加到PowerShell中的.NET对象?
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类型用作类型参数?我究竟做错了什么?
好像它被认为是一个笑话...... – icedwater 2013-09-05 02:11:39