- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
C# 新手,但有 PowerShell 经验。接管别人的代码。编写已编译的 PowerShell 模块,并尝试弄清楚如何根据返回的数据创建对象。现在,代码返回一个字符串:
ServerResponse<UCCSiteModel> requestModel = this.MakeRequest("/site/api/", "site", "GET", this.Credentials, queryString);
StringBuilder builder = new StringBuilder();
if (requestModel != null && requestModel.Response != null)
{
builder.AppendLine("SiteID: " + requestModel.Response.SiteID);
builder.AppendLine("Identity: " + requestModel.Response.SiteName);
builder.AppendLine("Site Code: " + requestModel.Response.SiteCode);
builder.AppendLine("Contact Name: " + requestModel.Response.ContactName);
builder.AppendLine("Contact Number: " + requestModel.Response.ContactNumber);
builder.AppendLine("Contact Email Address: " + requestModel.Response.ContactEmailAddress);
builder.AppendLine("Address: " + requestModel.Response.Address);
builder.AppendLine("City: " + requestModel.Response.City);
builder.AppendLine("State: " + requestModel.Response.State);
builder.AppendLine("Post Code: " + requestModel.Response.PostCode);
builder.AppendLine("Time Zone: " + requestModel.Response.Timezone);
builder.AppendLine("Longitude: " + requestModel.Response.longitude);
builder.AppendLine("Latitude: " + requestModel.Response.latitude);
this.WriteResponse(requestModel, builder.ToString());
}
如何从 requestModel.Response
创建一个对象而不是字符串发送回 PowerShell?在编写 PowerShell 时,我通常会使用 New-Object PsObject
,然后使用 Add-Member
。不确定如何在 C# 中执行此操作,也不确定它的名称(以便我可以搜索)。有人吗?
最佳答案
您可以通过在 PSObject< 的
(为了便于在 PowerShell 中访问,我会将属性名称更改为 CamelCase):Members
属性上调用 Add()
来简单地反射(reflect) Add-Member
的行为
if (requestModel != null && requestModel.Response != null)
{
PSObject responseObject = new PSObject();
responseObject.Members.Add(new PSNoteProperty("SiteID", requestModel.Response.SiteID));
responseObject.Members.Add(new PSNoteProperty("Identity", requestModel.Response.SiteName));
// and so on etc...
responseObject.Members.Add(new PSNoteProperty("Latitude", requestModel.Response.latitude));
this.WriteObject(responseObject);
}
关于c# - 在 C# cmdlet 中创建 PowerShell PSObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30985008/
使用以下示例: $test = '{ }' | ConvertFrom-Json 如何检测 $test 为空? 不起作用: $test -eq $null -not $test 这确实有效,但感觉不对
假设我有一个像这样的 psobject : $o=New-Object PSObject -Property @{"value"=0} Add-Member -MemberType ScriptMet
在执行 Get-ADObject 查询后,我得到了两个 PSObject(用于 2 个单独的 OU),我们称它们为 $query1 和 $query2,它们包含类型的成员对象 Selected.Mic
我创建一个这样的数组: $Array = @() $Item = New-Object PSObject $Item | Add-Member -Type NoteProperty -Name ite
下面的这个模块返回一个空对象。有什么建议可以解决吗? New-Module -ScriptBlock { $resourcesDirectory="AA" ..... $com
提供我有以下 JSON { "firstName": "Frank", "lastName": "Smith", "age": "25", "address":
在 PowerShell v3.0 中引入了 PSCustomObject。它类似于 PSObject,但更好。除了其他改进(例如保留属性顺序)之外,还简化了从哈希表创建对象的过程: [PSCusto
我一直在通过向 PSObjects 动态添加方法来实现临时类型 我希望能够使用“-eq”、“-lt”和“-gt”运算符比较我的对象的两个实例(我假设这需要我实现 IComparible 和 IEqua
此 powershell 脚本在 csv 文件中最多占用 8 行,并通过复制列将它们组合成一行,然后保存在结果文件中(第一个结果文件保存得很好)。如果 csv 中有 16 行,则意味着保存第二个结果文
我正在尝试在PowerShell中创建一个具有DataGrid且随源更新而更新的UI,所以我正在使用ObservableCollection。但是,当我将其设置为ItemsSource时,DataGr
我借用了一些PowerShell代码来比较哈希表,它返回一个带有哈希条目的名称和差异指示的自定义对象。我想输出返回的差额。 物体: function result( [string]$side )
假设我有这样的 JSON: { "a" : { "b" : 1, "c" : 2 } } 现在 ConvertTo-Json将愉快地创造
我经常使用以下内容: New-Object psobject -Property @{a=1; b=2; c=3; d=4} 我想让它尽可能短,甚至 1 个字符? 使用上述属性创建新 psobject
当显式转换我的新对象时(参见第一行代码),我新创建的 EntityReference 被存储而没有被包裹在 PSObject 中。 ,所以序列化它工作得很好: $entityRef1 = [Micro
当我使用 Get-Volume 时 $Volume = Get-Volume $Volume 我得到结果 DriveLetter FriendlyName FileSystemType DriveTy
这是我的代码: $a = @() for ($i = 0; $i -lt 5; $i++) { $item = New-Object PSObject $item | Add-Member -type
我最近开始在我的一些 PowerShell 脚本中使用自定义对象。在网上环顾四周时,我注意到有两种方法可以创建这些对象 $Obj1 = New-Object System.Object $Obj2 =
给定一个从 json (foo.json) 创建的自定义 powershell 对象 (bar) 您将如何按字母顺序对对象进行排序? foo.json { "bbb": {"zebras": "f
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
这是一个简单的问题,比任何事情都更具理论性。 Powershell 中的自定义对象和 PSObject 之间的真正区别是什么?您为什么以及何时创建它们? 谢谢! 最佳答案 PSCustomObject
我是一名优秀的程序员,十分优秀!