Powershell 기본:클래스 와 대상

4538 단어 Powershell
대상
Powershell 에서 대상 을 사용자 정의 할 수 있 습 니 다.대상 의 생 성과 사용 방식 은 자바 script 등 다른 스 크 립 트 언어 와 유사 합 니 다.
초기 화
$myObj=New-Object PSObject -Property ` 
@{
            apple="";
            banana=@();
            orange=@{}
        }

주의`와@같은 줄 에 있 으 면 빈 칸 을 사이 에 두 고,동행 하지 않 으 면 차 로 돌아 갈 수 밖 에 없다.
호출
$myObj.apple="Newton"
$myObj.banana+=@("Pine")
$myObj.orange+=@{
                "A"=1;
                "B"=2}

새 멤버 추가
add-member 를 통 해 새로운 멤버 를 추가 할 수 있 습 니 다.
1.변수
Add-Member -InputObject $myObj -Name pear -Value "111" -MemberType NoteProperty
Add-Member -InputObject $myObj -Name lemon -Value @("22","33") -MemberType NoteProperty

InputObject 는 대상 을 지정 하고 MemberType 은 대상 에 추가 할 요소 종 류 를 지정 합 니 다.NoteObject 는 기본 데이터 형식 을 표시 합 니 다.
2.방법
Add-Member -in $myObj ScriptMethod newFunc{ "This is a function" }

상용 대상
Powershell 은 C\#틈새 없 이 연결 할 수 있 기 때문에 많은.net 프레임 워 크 의 대상 을 직접 사용 할 수 있 습 니 다.예 를 들 어 Arraylist 와.net 에서 데이터 베 이 스 를 연결 하 는 작업 등 입 니 다.
$arr = New-Object -TypeName System.Collections.ArrayList
$arr = New-Object "System.Collections.ArrayList"

클래스 이름 에 따라.net 를 직접 사용 할 수 있 는 라 이브 러 리 를 초기 화 합 니 다.그러나 주의해 야 할 것 은 모든.net 의 대상 이 지지 하 는 것 이 아니 냐 는 것 이다.
$arr.Add(1)        #     

Arraylist 를 사용 하 는 것 은 전통 적 인 배열 보다 새로운 요 소 를 추가 할 때마다 새로운 배열 의 할당 을 다시 열지 않 아 도 된다 는 장점 이 있 습 니 다.Arraylist 의 다른 관련 동작 과 C\#는 현저 한 차이 가 없습니다.
종류
Powershell 5.0 이후 powershell 도 C+와 같은 클래스 를 지원 하기 시작 했다.
Class Student
{
    [String]$Name;
    [UInt32]$SID;

    Student([String]$Name,[UInt32]$SID)
    {
        $this.Name=$Name
        $this.SID=$SID
    }

    [String]getSID()
    {
        return $this.SID
    }
}

구성원 함수 에서 구성원 변 수 를 사용 하려 면$this 를 사용 해 야 합 니 다.그렇지 않 으 면 이 변 수 는 역할 영역 에 없 음 을 알려 줍 니 다.
$myClass=[Student]::new("King",223)    #    
$myClass.getSID()                  #    

좋은 웹페이지 즐겨찾기