最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PowerShell函數(shù)實(shí)現(xiàn)類似重載功能實(shí)例

 更新時(shí)間:2014年07月31日 10:00:48   作者:洪哥  
這篇文章主要介紹了PowerShell函數(shù)實(shí)現(xiàn)類似重載功能實(shí)例,PowerShell函數(shù)是不支持重載的,本文介紹的是類似功能,需要的朋友可以參考下

本文介紹PowerShell自定義函數(shù)是否支持重載,如果支持,如何重載?如果不支持,如何實(shí)現(xiàn)與重載相似的效果?

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

PowerShell自定義函數(shù)的參數(shù)集是可以為一個(gè)函數(shù)定義一個(gè)參數(shù)集,在調(diào)用函數(shù)時(shí)可以從參數(shù)集中選擇一個(gè)參數(shù)進(jìn)行使用。注意,只能從參數(shù)集中選擇一個(gè)來使用。先看看這個(gè)示例,對(duì)參數(shù)集好有一個(gè)感性的認(rèn)識(shí)。

復(fù)制代碼 代碼如下:

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函數(shù)定義了一個(gè)參數(shù)集,參數(shù)集中有三個(gè)參數(shù):Name、SAMAccountName、DN,可以選擇其中任何一個(gè)使用。但Add-User函數(shù)只能傳一個(gè)參數(shù)。
復(fù)制代碼 代碼如下:
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.

洪哥再舉個(gè)例子,我們要做一個(gè)函數(shù),想通過新聞ID或新聞標(biāo)題來輸出新聞的內(nèi)容。那么應(yīng)該怎么實(shí)現(xiàn)呢?
復(fù)制代碼 代碼如下:

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"
    }
}

關(guān)于PowerShell函數(shù)支持重載嗎,本文就介紹這么多,希望對(duì)您有所幫助,謝謝!

相關(guān)文章

最新評(píng)論

北海市| 吴忠市| 贺兰县| 上饶县| 连平县| 资中县| 高雄市| 滨州市| 波密县| 洪雅县| 佛学| 仙游县| 渭南市| 南宫市| 英吉沙县| 错那县| 葵青区| 大邑县| 灵川县| 保德县| 耿马| 惠来县| 科尔| 贡嘎县| 崇礼县| 瓦房店市| 呼玛县| 都安| 新余市| 阜宁县| 屏边| 洛阳市| 宁陕县| 繁昌县| 大英县| 潮安县| 克东县| 苗栗县| 遂宁市| 内黄县| 乳山市|