小编Old*_*art的帖子

使PowerShell认为对象不可枚举

我一直在研究一些PowerShell函数来管理我们创建的程序集中实现的对象.我一直在使用的类之一实现了IEnumerable.不幸的是,这导致PowerShell在每个机会展开对象.(我无法改变该类实现IEnumerable的事实.)

我通过创建PSObject并将自定义对象的属性复制到PSObject,然后返回而不是自定义对象来解决这个问题.但我真的宁愿返回我们的自定义对象.

是否有某种方法,可能是使用我的types.ps1xml文件,从PowerShell隐藏此类的GetEnumerator()方法(或以其他方式告诉PowerShell永远不会展开它).

powershell

10
推荐指数
2
解决办法
985
查看次数

空值的默认值

在Powershell脚本上工作我有几个地方我想要A除非它是null,否则B.本质上是?? C#中的运算符.我最终编写了下面显示的函数,但我不禁想到有一种内置的方法可以做到这一点.

有没有更好的,内置的方式?

function Get-ValueOrDefault()
{
    foreach ($value in $args)
    {
        if ($value -ne $null) { return $value }
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为这更好:

function Get-ValueOrDefault() { $args | select -first 1 }
Run Code Online (Sandbox Code Playgroud)

powershell

6
推荐指数
1
解决办法
1942
查看次数

标签 统计

powershell ×2