powershell - PowerShell - PSObject 属性成为集合,并将下一个属性的名称附加到集合中
问题描述
我正在尝试在 PowerShell 中创建一个具有四个值的简单对象。一个布尔值、两个字符串和一个整数。问题是,如果我调用这个函数:
function New-ResultObject($Status, $Function, $Message, $Priority)
{
return New-Object psobject -property @{
Status = $Status; `
Function = $Function; `
Message = $Message; `
Priority = $Priority
}
}
这样调用:
$object= New-ResultObject -Status $false,`
-Function "FunctionName",`
-Message "This is the message",`
-Priority 2
然后做一个$object | select *
我得到这个结果:
$object.Function = {FunctionName, -Status}
$object.Status = {False, -Function}
$object.Priority = 2
$object.Message = {This is the message, -Priority}
而不是我所期望的:
$object.Function = FunctionName
$object.Status = False
$object.Priority = 2
$object.Message = This is the message
我已经尝试对每个属性在其自己的行上执行 Add-Member 方法,但它仍然会产生相同的对象,其中属性名称作为第二个值添加到初始属性。我错过了什么?
解决方案
谢谢道格·毛雷尔。如果您想发布答案,我可以接受。否则,这就是问题所在,多个参数不需要逗号,并且导致参数标记作为多个部分传递给松散类型的函数参数。
这是一个工作示例:
$object= New-ResultObject -Status $false `
-Function "FunctionName" `
-Message "This is the message" `
-Priority 2
推荐阅读
- php - 当我将我的网站上线时,其他人可以使用 PHP 文件吗?
- ruby-on-rails - ActionView::Template::Error (application.css):
- python - 我忘记了基础知识吗?
- sql - Asp.net 即时转换和显示 varchar 汉字
- laravel - 如何在 laravel 中设置缓存控制
- python - 追加到列表的多处理 for 循环
- django - 如何提高 IFrame 加载速度?
- arm - 在 Arm 汇编中为斐波那契创建一个 while 循环
- javascript - 当数量/数量发生变化时,我如何更新产品价格?
- javascript - 如何在 React 中渲染数据(实时/firebase)