濮阳杆衣贸易有限公司

主頁 > 知識庫 > PowerShell函數(shù)實現(xiàn)類似重載功能實例

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

熱門標簽:騰訊地圖標注中心怎么標注 六寸地圖標注點怎么刪除 如何根據(jù)經(jīng)緯度百度地圖標注 萬全縣地圖標注app 地圖標注的圖案 新鄭電銷機器人一個月多少錢 電話機器人公司招聘 莫拉克電梯系統(tǒng)外呼怎么設(shè)置 印臺區(qū)呼叫中心外呼系統(tǒng)

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

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

PowerShell自定義函數(shù)的參數(shù)集是可以為一個函數(shù)定義一個參數(shù)集,在調(diào)用函數(shù)時可以從參數(shù)集中選擇一個參數(shù)進行使用。注意,只能從參數(shù)集中選擇一個來使用。先看看這個示例,對參數(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ù)定義了一個參數(shù)集,參數(shù)集中有三個參數(shù):Name、SAMAccountName、DN,可以選擇其中任何一個使用。但Add-User函數(shù)只能傳一個參數(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.

洪哥再舉個例子,我們要做一個函數(shù),想通過新聞ID或新聞標題來輸出新聞的內(nèi)容。那么應(yīng)該怎么實現(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ù)支持重載嗎,本文就介紹這么多,希望對您有所幫助,謝謝!

標簽:臨汾 喀什 天水 汕頭 南昌 襄陽 疫苗接種 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標題《PowerShell函數(shù)實現(xiàn)類似重載功能實例》,本文關(guān)鍵詞  PowerShell,函數(shù),實現(xiàn),類似,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PowerShell函數(shù)實現(xiàn)類似重載功能實例》相關(guān)的同類信息!
  • 本頁收集關(guān)于PowerShell函數(shù)實現(xiàn)類似重載功能實例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    天镇县| 碌曲县| 佛坪县| 饶阳县| 盘锦市| 鹤峰县| 溧水县| 赤壁市| 团风县| 乌什县| 博乐市| 长兴县| 抚宁县| 西华县| 中宁县| 德安县| 博白县| 唐山市| 濉溪县| 冕宁县| 桃园县| 利辛县| 武义县| 突泉县| 南安市| 多伦县| 沧州市| 尉犁县| 敦煌市| 巴彦淖尔市| 英吉沙县| 锡林浩特市| 长阳| 徐州市| 博罗县| 环江| 桦甸市| 荣昌县| 内乡县| 上林县| 富锦市|