我在寫一個使用第三方庫的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