国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PowerShell > 正文

PowerShell函數(shù)參數(shù)設(shè)置成自動識別數(shù)據(jù)類型的例子

2020-05-30 20:11:31
字體:
供稿:網(wǎng)友

本文介紹PowerShell自定義函數(shù)中使用參數(shù)集時,怎么設(shè)置系統(tǒng)自動識別參數(shù)的數(shù)據(jù)類型。

識別參數(shù)類型的一個好處就是,在使用參數(shù)集時,不需要每次都指定參數(shù)名稱了。

請看下面這個Test-Binding函數(shù)。這個PowerShell函數(shù)在設(shè)置參數(shù)集的時候,為參數(shù)集中的第一個參數(shù)設(shè)置了數(shù)據(jù)類型,這樣在調(diào)用函數(shù)時,就可以自動判斷一個參數(shù)值它應(yīng)該賦給哪個參數(shù)了。
代碼如下:
function Test-Binding {
    [CmdletBinding(DefaultParameterSetName='Name')]
    param(
        [Parameter(ParameterSetName='ID', Position=0, Mandatory=$true)]
        [Int]
        $id,
        [Parameter(ParameterSetName='Name', Position=0, Mandatory=$true)]
        [String]
        $name
    )
    $set = $PSCmdlet.ParameterSetName
    “You selected $set parameter set”
    if ($set -eq ‘ID') {
        “The numeric ID is $id”
    } else {
        “You entered $name as a name”
    }
}

注意函數(shù)中參數(shù)$id上面的[int]和參數(shù)$name上面的[String]。有這了這樣的函數(shù)定義,那我們在調(diào)用時就方便了,如果傳一個字符串給它,它會把這個參數(shù)當作是$name,而傳一個數(shù)字給它,這個參數(shù)會被當作是$id。且看如下調(diào)用函數(shù)的示例。
代碼如下:
PS> Test-Binding -Name hallo
You selected Name parameter set
You entered hallo as a name
PS> Test-Binding -Id 12
You selected ID parameter set
The numeric ID is 12
PS> Test-Binding hallo
You selected Name parameter set
You entered hallo as a name
PS> Test-Binding 12
You selected ID parameter set
The numeric ID is 12

上面一共做了4次調(diào)用,前兩次調(diào)用都指定了參數(shù)名,沒有什么好說的。后面兩次都沒有指定參數(shù)名稱,但執(zhí)行的結(jié)果跟前兩次一模一樣,這表示PowerShell函數(shù)自動識別了輸入?yún)?shù)要調(diào)用的哪個參數(shù)名稱。

關(guān)于PowerShell函數(shù)參數(shù)集自動識別參數(shù)數(shù)據(jù)類型,本文就介紹這么多,希望對您有所幫助,謝謝!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 广平县| 洱源县| 开化县| 怀集县| 藁城市| 鄂伦春自治旗| 宜黄县| 高州市| 东乌珠穆沁旗| 台南市| 织金县| 鞍山市| 酉阳| 通江县| 广东省| 临夏县| 柳河县| 泾川县| 文水县| 贵定县| 亳州市| 衡山县| 竹北市| 高青县| 准格尔旗| 延庆县| 陆丰市| 深州市| 定南县| 贺兰县| 夏津县| 普定县| 额敏县| 正蓝旗| 岱山县| 乌鲁木齐市| 丹东市| 巢湖市| 华宁县| 黄大仙区| 密山市|