我有一阵子有一个有趣的问题。假设我有功能
function GetAllFiles($creds, $fld){
$newFiles = New-Object "system.collections.generic.list[string]"
... other stuff which adds entires
return $newFiles
}
在执行时在调用方
$files = GetAllFiles $creds $fld
$files.Remove("AnExistingEntry")
我懂了
当我做
$ newFiles.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array
我怎样才能使其成为“system.collections.generic.list [string]”呢?
谢谢
最佳答案
该对象类型没有“删除”方法。我认为您正在查看该元素的成员:
$文件| gm将使您成为数组第一个元素的成员(管道将展开数组,您最终会对第一个元素执行gm。
gm -inputobject $ files将向您显示数组的成员,“删除”不在该对象类型的方法之列。
在您的return语句上尝试此操作,看看它是否使数组保持完整,而不是在return上展开它。
返回,$ newFiles