【发布时间】:2015-02-24 09:31:56
【问题描述】:
在 PowerShell 中,您可以扩展对象:
Add-Member cmdlet 允许您将成员(属性和方法)添加到 Windows PowerShell 对象的一个实例。例如,您可以添加一个 NoteProperty 成员,包含对象的描述或 ScriptMethod 成员,运行脚本以更改对象。
然而:
您添加的属性和方法仅添加到 您指定的对象的特定实例。 添加成员 不改变对象类型。要创建新的对象类型,请使用 添加类型 cmdlet...
示例:
$s = "Hello World" | Add-Member -PassThru ScriptProperty Reverse {$this[$this.Length..0] -join ""}
$s Hello World
$s.Reverse dlroW olleH
是否有一种简单直接的方式来为该类型的所有实例做同样的事情,就像 Extension Methods 在 C# 中所做的那样,会做一些类似于以下的事情:
$s = "Hello World" | Add-Member -PassThru ScriptProperty Reverse {$this[$this.Length..0] -join ""}
$s Hello World
$s.Reverse dlroW olleH
$a = "Aymen"
$a.Reverse nemyA
【问题讨论】:
-
还可以在这里查看未接受的答案:stackoverflow.com/questions/840907/…
标签: c# .net windows powershell