2014-02-12 26 views
2

我在使用PowerShell腳本中的C#時遇到問題。我試圖使用該庫InterIMAP在InterIMAP中將C#翻譯爲PowerShell

具體來說,我想這個構造轉換:

using InterIMAP; 

IMAPConfig config = new IMAPConfig("server","username","password", true, false, "INBOX"); 

PowerShell腳本我到目前爲止有:

$loadLib =[Reflection.Assembly]::LoadFile('C:\Users\......\InterIMAP.dll); 

$config= [InterIMAP.IMAP.IMAPConfig]::IMAPConfig("imap.gmail.com", $user, $password, $true, $true, "INBOX"); 

我認爲這個問題我有,因爲IMAP類有一個指向IMAPConfig類的指針:http://interimap.codeplex.com/SourceControl/latest#InterIMAP/InterIMAP/Client/IMAP.cs

我必須做錯了什麼。任何幫助讚賞

回答

1

在您的PowerShell代碼中,您訪問IMAPConfig()作爲IMAPConfig類的靜態方法,我猜測這是無效的。爲了在PowerShell中使用對象構造函數,您需要使用New-Object cmdlet。

-TypeName參數指定要實例化的.NET類。 -ArgumentList參數接受表示構造函數參數的任意System.Object對象的數組。

$config = New-Object -TypeName InterIMAP.IMAP.IMAPConfig -ArgumentList @('imap.gmail.com', $User, $Password, $true, $true, 'INBOX');