You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中使用点运算符调用自定义函数?

实现PowerShell中自定义函数的点运算符调用与链式操作

完全可行,你可以通过扩展.NET类型成员的方式,给[string]类型添加自定义方法,从而实现点运算符直接调用和链式操作,具体方案如下:

实现代码

# 扩展[string]类型,添加自定义方法
Update-TypeData -TypeName System.String -MemberType ScriptMethod -MemberName ReplaceR -Value {
    return $this.Replace("o", "yes")
}

Update-TypeData -TypeName System.String -MemberType ScriptMethod -MemberName Go -Value {
    return $this.Replace("yes", "no")
}

# 现在可以直接用点运算符调用,支持链式操作
"hello".ReplaceR()          # 输出: "hellyes"
"hello".ReplaceR().Go()     # 输出: "hellno"

$var = "hello"
$var.ReplaceR().Go()        # 同样支持变量调用

关键说明

  • 用Update-TypeData命令可以动态给指定.NET类型添加脚本方法,这里针对System.String(即PowerShell中的字符串类型)扩展。
  • 方法体内的$this自动指代当前字符串实例,不需要像原来的函数那样显式传入第一个参数。
  • 这种扩展是会话级的,关闭PowerShell后会失效,如果需要永久生效,把扩展代码添加到你的PowerShell配置文件($PROFILE)中即可。
  • 注意自定义方法名不要和字符串原有方法重名,否则会覆盖原有方法。

内容的提问来源于stack exchange,提问作者Ichigo Kurosaki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 01:13:16