【问题标题】:Adding a Custom Object to a Array in Powershell将自定义对象添加到 Powershell 中的数组
【发布时间】:2016-06-10 05:43:58
【问题描述】:

我想将具有以下属性的自定义对象添加到 powershell 数组。我尝试了各种选项,但无法将此类对象添加到数组中的正确语法。我正在使用 Powershell V2。请帮忙。

PS C:\Windows\system32> $executemultiplerequest | Get-member


   TypeName: Microsoft.Xrm.Sdk.Messages.ExecuteMultipleRequest

Name          MemberType            Definition
----          ----------            ----------
Equals        Method                bool Equals(System.Object obj)
GetHashCode   Method                int GetHashCode()
GetType       Method                type GetType()
ToString      Method                string ToString()
Item          ParameterizedProperty System.Object Item(string parameterName) {get;set;}
ExtensionData Property              System.Runtime.Serialization.ExtensionDataObject ExtensionData {get;set;}
Parameters    Property              Microsoft.Xrm.Sdk.ParameterCollection Parameters {get;set;}
RequestId     Property              System.Nullable`1[[System.Guid, mscorlib, Version=4.0.0.0, Culture=neutral, Publ...
RequestName   Property              System.String RequestName {get;set;}
Requests      Property              Microsoft.Xrm.Sdk.OrganizationRequestCollection Requests {get;set;}
Settings      Property              Microsoft.Xrm.Sdk.ExecuteMultipleSettings Settings {get;set;}

添加我尝试过的选项:

以下是我尝试过的示例:

$item = New-Object System.Object
$item | Add-Member -MemberType Method -Name Equals $executemultiplerequest.Equals -MemberType Property $executemultiplerequest.ExtensionData
$array += item

我什至在存储到数组之前就收到了错误。在 Add-Member 行收到错误:

Add-Member : Cannot add a member with type "Method". Specify a different type for the MemberTypes parameter. 

【问题讨论】:

  • 试过 各种 选项 -- > 你尝试了什么?你能给我们看一些代码吗?
  • 以下是我尝试过的示例:$item = New-Object System.Object $item | Add-Member -MemberType Method -Name Equals $executemultiplerequest.Equals $array += item $item = New-Object System.Object $item | Add-Member -MemberType 属性 $executemultiplerequest.ExtensionData $array += item
  • 您能否编辑您的问题并添加它们?在 cmets 中很难阅读 ;)
  • 更新了问题以反映我尝试过的选项...
  • 最后一行真的是你试过的吗?提示:item 而不是 $item

标签: powershell


【解决方案1】:

我不确定您使用的类型,但如果您愿意

$item = New-Object psobject
$item | Add-Member -MemberType NoteProperty -Name RequestName -Value 'some string here'
$item | Add-Member -MemberType ScriptMethod -Name Multiply -Value {param($x,$y);$x * $y }
$item | Add-Member -MemberType ScriptProperty -Name RequestName1 -Value { Get-Service -Name BITS }

阅读更多关于Add-memberhere的信息

【讨论】:

    猜你喜欢
    • 2020-12-28
    • 1970-01-01
    • 2012-07-01
    • 2022-12-06
    • 1970-01-01
    • 2012-05-11
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    相关资源
    最近更新 更多