标题: [转载代码] [PowerShell每日技巧]PowerShell 4.0中的动态方法(20131105) [打印本页]
作者: DAIC 时间: 2013-11-15 09:33 标题: [PowerShell每日技巧]PowerShell 4.0中的动态方法(20131105)
Beginning with PowerShell 4.0, method names may come from variables. Here's a simple example:- $method = 'ToUpper'
- 'Hello'.$method()
复制代码
This can be useful when the method you want to use depends on something a script would need to figure out first.- function Convert-Text
- {
- param
- (
- [Parameter(Mandatory)]
- $Text,
- [Switch]$ToUpper
- )
-
- if ($ToUpper)
- {
- $method = 'ToUpper'
- }
- else
- {
- $method = 'ToLower'
- }
- $text.$method()
- }
复制代码
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
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |