在InterIMAP中将C#转换为PowerShell

时间:2014-02-12 20:04:46

标签: c# powershell imap

我在PowerShell脚本中使用C#时遇到问题。我正在尝试使用的库是InterIMAP

具体来说,我正在尝试转换此构造函数:

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 个答案:

答案 0 :(得分: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');