PowerShell 中相同 C#/.Net 代码的不同行为

Different behaviour of same C#/.Net code in PowerShell

此 C# 代码运行良好且符合预期,

List<string> list = new List<string>();
list.Add("outbox,zip");

DelResParams delParams = new DelResParams();
delParams.PublicIds = list;
delParams.Type = "multi";

cloudinary.DeleteResources(delParams);

其实我需要一个PowerShell脚本,我的转换如下,

$list = New-Object -TypeName System.Collections.Generic.List[string]

$list.Add("outbox,zip")

$deleteParams = New-Object CloudinaryDotNet.Actions.DelResParams
$deleteParams.PublicIDs = $list
$delteParams.Type = "multi"


$cloudinary.DeleteResources($deleteParams)

现在 $delteParams.Type = "multi" 表示无法在此对象上找到 属性 'Type';确保它存在并且可以设置。

在 PowerShell 中,所有 .Net 程序集都已正确加载,并且脚本的其余部分运行良好。

类型属性定义为,string DelResParams.Type

实际上我做错了什么?

您的脚本中有错字:

$delteParams.Type = "multi"

您在 "delete" 中缺少一个 "e"。这里的死亡赠品是 Params 中的 Ps 不排队。