找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 14515|回复: 0

[转载代码] [PowerShell每日技巧]PowerShell 4.0中的动态方法(20131105)

[复制链接]
发表于 2013-11-15 09:33:48 | 显示全部楼层 |阅读模式
Beginning with PowerShell 4.0, method names may come from variables. Here's a simple example:
  1. $method = 'ToUpper'
  2. 'Hello'.$method()
复制代码
This can be useful when the method you want to use depends on something a script would need to figure out first.
  1. function Convert-Text
  2. {
  3.   param
  4.   (
  5.     [Parameter(Mandatory)]
  6.     $Text,
  7.     [Switch]$ToUpper
  8.   )

  9.   if ($ToUpper)
  10.   {
  11.     $method = 'ToUpper'
  12.   }
  13.   else
  14.   {
  15.     $method = 'ToLower'
  16.   }
  17.   $text.$method()
  18. }
复制代码
And this is how a user would call the function:

PS> Convert-Text 'Hello'
hello

PS> Convert-Text 'Hello' -ToUpper
HELLO


By default, the function would convert text to lower case. When the switch parameter -ToUpper is specified, it converts the text to upper case instead. Thanks to dynamic methods, the function won't need separate code blocks for this.

http://powershell.com/cs/blogs/tips/archive/2013/11/05/dynamic-methods-in-powershell-4.aspx
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 20:41 , Processed in 0.016666 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表