2014-10-29 13 views
8

Niestandardowy skrypt PowerShell lub funkcja może być udokumentowane za pomocą standardowego komentarza na początku swojego ciała:dodawania dokumentacja metod niestandardowych (ScriptMethod)

function wellDocumented { 
    <# 
     .SYNOPSIS 
     A well documented function 
     .DESCRIPTION 
     "Be verbose in documentation" - someone 
     .PARAMETER foo 
     should be 42 or 15, but not more 
    #> 
    param([int]$foo) 
    <# ... #> 
} 

Get-Help wellDocumented powraca kilka ciekawych informacji wtedy. Ale jak mogę udokumentować niestandardowe obiekty w niestandardowych obiektach? Następujące funkcje nie działają:

$myClass | add-member -memType ScriptMethod -Name "Foo" -Value { 
    <# 
     .SYNOPSIS 
     Something - but brief 
     .DESCRIPTION 
     Something 
    #> 
    <# ... #> 
} 

Czy istnieje jakiś standardowy sposób dokumentowania skryptów ScriptMethod?

+0

Co to jest '$ myClass'? – Eris

+0

Podążyłem za podejściem do definiowania klas i tworzenia ich w http://powertoe.wordpress.com/2014/04/26/you-know-powershell-is-an-object-oriented-language-right/ – Sh4pe

+0

I najprawdopodobniej po prostu napisze to jako moduł C# i użyje pliku pomocy XML. Nie jest to odpowiedź, ale możliwa alternatywa. – Eris

Odpowiedz

1

można napisać metodę skryptu jako pierwszy osobnej funkcji (jak to zrobiłeś z wellDocumented), a następnie przekazać funkcję jako scriptblock:

$myClass | add-member -memType ScriptMethod -Name "Foo" -Value ${function:wellDocumented} 

nadal nie można nazwać Get-Help $myClass.Foo, ale można zadzwoń pod numer Get-Help wellDocumented.

Podczas testów nie udało mi się uzyskać pomocy dotyczącej metody.

+0

Ale wtedy użytkownik mojej klasy musiałby zajrzeć do implementacji, aby przekonać się, że chce uzyskać "help-help welldocumented", aby znaleźć pomoc - co jest bardziej kłopotliwe niż tylko zaglądanie do implementacji i przeczytanie tamtejszej dokumentacji. .. Dziękujemy za odpowiedź! – Sh4pe

Powiązane problemy