我在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
我一定是做错了。任何帮助表示赞赏
答案 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');