麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > PowerShell > 正文

PowerShell函數實現類似重載功能實例

2020-10-29 21:08:03
字體:
來源:轉載
供稿:網友

本文介紹PowerShell自定義函數是否支持重載,如果支持,如何重載?如果不支持,如何實現與重載相似的效果?

鄭重聲明:PowerShell自定義函數不支持重載!也就是說,你不能定義兩個同名的PowerShell函數,不管參數個數、順序、類型是否相同。既然PowerShell自定義函數不支持重載功能,那么有沒有什么辦法來實現與重載相似的效果呢?有,當然有,那就是參數集(Parameters Set)

PowerShell自定義函數的參數集是可以為一個函數定義一個參數集,在調用函數時可以從參數集中選擇一個參數進行使用。注意,只能從參數集中選擇一個來使用。先看看這個示例,對參數集好有一個感性的認識。

復制代碼 代碼如下:

function Add-User
{
    [CmdletBinding(DefaultParameterSetName='A')]
    param
    (
        [Parameter(ParameterSetName='A',Mandatory=$true)]
        $Name,
        [Parameter(ParameterSetName='B',Mandatory=$true)]
        $SAMAccountName,
        [Parameter(ParameterSetName='C',Mandatory=$true)]
        $DN
    )
    $chosen = $PSCmdlet.ParameterSetName
    “You have chosen $chosen parameter set.”
}

上面Add-User函數定義了一個參數集,參數集中有三個參數:Name、SAMAccountName、DN,可以選擇其中任何一個使用。但Add-User函數只能傳一個參數。
復制代碼 代碼如下:
PS> Add-User -Name test
You have chosen A parameter set.
PS> Add-User -SAMAccountName test
You have chosen B parameter set.
PS> Add-User -DN test
You have chosen C parameter set.
PS> Add-User -DN test -Name test
Add-User : Parameter set cannot be resolved using the specified named parameters.

洪哥再舉個例子,我們要做一個函數,想通過新聞ID或新聞標題來輸出新聞的內容。那么應該怎么實現呢?
復制代碼 代碼如下:

function Get-NewsContent
{
    [CmdletBinding(DefaultParameterSetName='A')]
    [Parameter(ParameterSetName='A',Mandatory=$true)]
    $NewsID,
    [Parameter(ParameterSetName='B',Mandatory=$true)]
    $NewsTitle
   
    $chosen = $PSCmdlet.ParameterSetName
    If($chosen -eq "A"){
        "News Content by NewsID"
    }else{
        "News Content by NewsTitle"
    }
}

關于PowerShell函數支持重載嗎,本文就介紹這么多,希望對您有所幫助,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产亚洲精品久久777777 | 欧美日韩亚州综合 | 成人电影毛片 | 免费在线观看一级片 | 12av毛片 | 国产成人高清在线观看 | 久久影城| 免费视频a | 免费人成在线播放 | 久久华人| 国产91中文字幕 | 久草视频国产在线 | 一级做a爱片毛片免费 | 欧美videofree性欧美另类 | 91精彩视频| 国产成人av免费观看 | 国产盼盼私拍福利视频99 | av最新在线 | 国产一级一国产一级毛片 | 精品国产乱码久久久久久久 | 水多视频在线观看 | 久久亚洲春色中文字幕久久 | 国产成人在线免费看 | 毛片网站网址 | 久精品国产 | 七首小情歌泰剧在线播放 | 久久sp | 国产精品久久久久av | 日韩中文字幕一区二区三区 | 久久久久久久久久久久网站 | 久久久久久久久日本理论电影 | 黄色99视频 | 538任你躁在线精品视频网站 | 好骚综合在线 | 国产精品视频yy9299一区 | 九色免费视频 | 热@国产 | 欧美成人一二三区 | 蜜桃视频网站在线观看 | 久久精品99北条麻妃 | 欧美一级毛片一级毛片 |