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

本文关键字:代码 PowerShell Net | 更新日期: 2023-09-27 18:36:42

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

我到底做错了什么?

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

脚本中有拼写错误:

$delteParams.Type = "multi"

您在"删除"中缺少"e"。这里的致命赠品是Params中的P不排队。