婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PowerShell函數實現類似重載功能實例

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

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

本文介紹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函數支持重載嗎,本文就介紹這么多,希望對您有所幫助,謝謝!

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

巨人網絡通訊聲明:本文標題《PowerShell函數實現類似重載功能實例》,本文關鍵詞  PowerShell,函數,實現,類似,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PowerShell函數實現類似重載功能實例》相關的同類信息!
  • 本頁收集關于PowerShell函數實現類似重載功能實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 蒙自县| 稻城县| 文安县| 旺苍县| 秦安县| 西贡区| 鹤山市| 韶山市| 静海县| 会昌县| 英德市| 汝州市| 海安县| 新竹市| 万载县| 徐汇区| 进贤县| 阳山县| 夏邑县| 封开县| 汉川市| 平远县| 来安县| 闸北区| 衡水市| 阿坝县| 瓦房店市| 民权县| 平乡县| 中宁县| 泰来县| 昭觉县| 清镇市| 海林市| 南丰县| 进贤县| 藁城市| 商都县| 伊宁县| 达日县| 本溪|