【问题标题】:Translating C# to PowerShell in InterIMAP在 InterIMAP 中将 C# 转换为 PowerShell
【发布时间】:2014-02-13 04:45:30
【问题描述】:

我在 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

我一定是做错了什么。任何帮助表示赞赏

【问题讨论】:

    标签: c# powershell imap


    【解决方案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');
    

    【讨论】:

      猜你喜欢
      • 2016-06-08
      • 2019-02-12
      • 1970-01-01
      • 2013-02-13
      • 2020-05-01
      • 2022-01-18
      • 1970-01-01
      • 2020-06-10
      • 1970-01-01
      相关资源
      最近更新 更多