PSClass - Object Oriented Scripting in Powershell을 내 PowerShell 제작에서 간단한 OOP 표기법을 사용하는 매우 유망한 방법으로 생각합니다.PSClass를 모듈로 변환하는 방법은 무엇입니까?
원래 PSClass.ps1 구성의 장점은 New-PSClass
호출에서 매우 의사 소통이 가능한/자체 설명이 가능한 스크립트 블록을 사용할 수 있다는 것입니다.
OOP 구문을 사용자 코드에서 사용하려면 먼저 실행해야하는 스크립트로 구성됩니다.
제 생각에는 Import-Module
cmdlet으로 가져올 수있는 표준 PoweShell 모듈 (예 : PSClass.psm1)로 변환하는 것입니다. PSClass.ps1의 콘텐츠가 PSClass.psm1 서브 루틴 note
에 직접 포함될 때 constructor
, property
, method
은 Export-ModuleMember
으로 표시되지 않습니다. 내가 같은 간단한 PSClass.psm1 정의를 사용하는 경우에도 :
. .\PSClass.ps1
Export-ModuleMember -Function @('New-PSClass')
여전히 서브 루틴
note
이
constructor
이
property
,
method
이
Export-ModuleMember
으로 수출 할 수 없습니다.
PSClass.ps1 스크립트를 완벽하게 기능하는 모듈로 보존 방법을 설명하는 스크립트 블럭을 New-PSClass
호출로 만드는 방법에 대한 힌트가 있습니까?
. 그것은 실패했다. 너 성공 했니? – utom
아 나는 문제를 본다. 생성자, 노트 등 함수는 New-PSClass 함수 내에 중첩되어 있습니다. AFAICT 중첩 된 함수를 내보낼 수 없습니다. 이러한 기능을 모듈 범위로 가져와야하고 누가 그 기능을 망가뜨릴 지 누가 압니다. –