PowerShell函数不会返回对象

2024-05-05

我有一个简单的函数来创建一个通用列表:

function test()
{
    $genericType = [Type] "System.Collections.Generic.List``1"
    [type[]] $typedParameters = ,"System.String"
    $closedType = $genericType.MakeGenericType($typedParameters)
    [Activator]::CreateInstance($closedType)
}

$a = test

问题是$a无论我尝试什么,它总是为空。如果我在函数之外执行相同的代码,它将正常工作。

想法?


恕我直言,这是陷阱#1。如果您从函数返回一个可枚举的对象(我不知道是否确切地实现IEnumerable是唯一的情况),PowerShell 展开该对象并返回其中的项目。

您新创建的列表是空的,因此没有返回任何内容。要使其工作,只需使用以下命令:

,[Activator]::CreateInstance($closedType)

这将生成一个展开的单项数组,并将该项(通用列表)分配给$a.

更多信息

以下是类似问题的列表,可帮助您了解正在发生的事情:

  • Powershell 陷阱 https://stackoverflow.com/questions/803521/powershell-pitfalls
  • 避免 Powershell 中不可知的锯齿状数组扁平化 https://stackoverflow.com/questions/2463190/avoiding-agnostic-jagged-array-flattening-in-powershell
  • PowerShell 函数中返回 DataSet/DataTable 的奇怪行为 https://stackoverflow.com/questions/1918190/strange-behavior-in-powershell-function-returning-dataset-datatable
  • 是什么决定了 Powershell 管道是否展开集合? https://stackoverflow.com/questions/1827862/what-determines-whether-the-powershell-pipeline-will-unroll-a-collection

Note:您不需要用括号声明函数头。如果需要添加参数,函数将如下所示:

function test {
 param($myParameter, $myParameter2)
}

or

function  {
param(
  [Parameter(Mandatory=true, Position=0)]$myParameter,
  ... again $myParameter2)
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PowerShell函数不会返回对象 的相关文章

随机推荐

  • 什么是样板代码、热点代码和热点?

    我知道这些术语是在性能实现 优化的背景下使用的 最近一直在研究这个问题 并尝试过搜索 但没有得到任何例子 清楚地阐述 描述这些概念以及在现实世界开发场景中实现这些问题 概念 有人可以彻底解释这些术语 示例场景以及可能使用这些概念和术语的地方
  • 如何在 jQuery 中检查 null 对象

    我正在使用 jQuery 我想检查页面中是否存在某个元素 我写了以下代码 但它不起作用 if btext i null alert btext i text btext i text Branch i 如何检查元素是否存在 检查jQuery
  • Python多线程模型

    我已经研究 python 中的多线程有一段时间了 但是我对一些问题感到困惑 首先 python线程库创建的线程是用户级线程还是内核级线程 书上说用户级线程必须映射到内核线程并且 操作系统仅创建和维护内核级线程 python中将使用哪种线程模
  • 如何重命名 Rails 4 应用程序?

    rails plugin install git github com get Rename git将允许我们仅重命名 Rails 3 应用程序 是否有任何 gem 可用于重命名 Rails 4 应用程序 如果没有 请建议我更好的重命名方法
  • ASP .Net 报表查看器控件中的本地报表与服务器报表

    在我们当前工作的 ASP Net 站点之一中 我们有大量 SSRS 报告 我们对该站点进行了表单身份验证 并且已在报表服务器中创建并部署了报表 当我们设置报表查看器控件来访问服务器报表时 我们遇到了很多身份验证问题 我只是想知道使用本地报告
  • .NET WPF 窗口淡入和淡出动画

    下面是窗口淡入和淡出动画的代码片段 Create the fade in storyboard fadeInStoryboard new Storyboard fadeInStoryboard Completed new EventHand
  • 我应该在哪里划清词法分析器和解析器之间的界限?

    我正在为 IMAP 协议编写一个词法分析器 用于教育目的 但我很困惑应该在词法分析器和解析器之间划清界限 以 IMAP 服务器响应为例 FLAGS Answered Deleted 该响应的正式语法定义如下 mailbox data FLA
  • 是否可以将 pyobjc 与特权 XPC 帮助工具和 XPCInterface API 一起使用?

    我相信这个问题的答案是 否 但我将其发布给社区 以防有人比我更成功 我有一个特权帮助程序工具 客户端 Cocoa 应用程序将其与 NSXPCConnection 和 NSXPCInterface 一起使用 该接口本身包括一个通过完成处理程序
  • d3 地理投影从正交到 X 的过渡

    我正在开发一个教育地图项目 其中显示不同的地图投影 我想在选择不同投影之间实现变形过渡 我找到了一个很好的例子来实现它 并且我没有遇到太多的麻烦来重新创建它 不幸的是 我还需要裁剪投影的功能 这与目标状态完美配合 但在改变投影时则不然 当选
  • 如何为用户提供给定 boost::spirit 语法的自动完成建议?

    我正在使用 Boost Spirit 在我的 C GUI 应用程序中为非技术用户构建简单的 数据过滤器 语言 语言与纯英语非常相似 并且可以解析为 AST 我被要求使该过程尽可能对用户友好 因此我希望提供类似 CLang 的错误消息 无法识
  • 自定义文件属性

    我需要遵循 在我的申请中 我有文件 需要随时签入和签出的文件 当我从应用程序中签出文档时 我需要将自定义属性添加到文件中 以便稍后在签入文档时可以识别它 我尝试使用以下代码使用 DSOFile 中的 OleDocumentPropertie
  • Oracle PL/SQL - NO_DATA_FOUND 异常是否对存储过程性能不利?

    我正在编写一个需要进行大量调节的存储过程 根据 C NET 编码中的常识 异常会损害性能 因此我也始终避免在 PL SQL 中使用它们 我在此存储过程中的调节主要围绕记录是否存在 我可以通过以下两种方式之一进行 SELECT COUNT I
  • 如何将填充轮廓投影到 3D 曲面图上

    我只是想在 3D 中绘制一个表面及其轮廓 就像this http matplotlib org examples mplot3d contourf3d demo2 html例子 这是我用来执行此操作的代码 import matplotlib
  • R:使用“lm”拟合线性模型时的对比错误

    我发现了在 R 中定义线性模型时对比错误 https stackoverflow com questions 18171246 error in contrasts when defining a linear model in r并遵循了
  • SwiftUI:如何横向呈现全屏覆盖

    我正在制作一个应用程序 其中多个页面 视图嵌入到具有选项卡栏 菜单栏和标题的父视图中 如下所示 HeaderView MenuView TabView selection selected HomeView Page2View Page3V
  • 将附件视图按钮添加到 MKMapView 调出注释?

    我最近遇到过这个网站 http www everydayone com 2009 08 mapkit annotation with buttons example 我一直在尝试向我的呼出视图添加一个按钮 来自图像 网站示例上的代码工作得很
  • ios - NSObjCRuntime、NSZone 和 NSObject 中的解析问题

    我在用着AddThis http support addthis com customer portal articles 381270 addthis for ios quick start guide UCHnE8iXSs0在我的 iO
  • 在 Amazon Dynamo DB 中编写复杂查询(数学表达式)

    我已经从 mysql 切换到 Dynamo DB 在 mysql 中 我使用了一个查询来获取靠近特定纬度和经度的所有用户 查询是 SELECT SQRT POW 69 1 latitude latitude 2 POW 69 1 longi
  • 策略模式的现实示例

    我一直在读关于OCP原理 http en wikipedia org wiki Open closed principle以及如何使用策略模式来实现这一目标 我打算尝试向几个人解释这一点 但我能想到的唯一例子是根据 订单 的状态使用不同的验
  • PowerShell函数不会返回对象

    我有一个简单的函数来创建一个通用列表 function test genericType Type System Collections Generic List 1 type typedParameters System String c