[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

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

返回列表