PowerShell / PowerShell/PowerShell-RFC
Handling enums as cmdlet parameters.
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- PowerShell
- Sterne
- 467
- Forks
- 140
- Ø Merge
- 9 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
Summary of the new feature / enhancement
Changing the handling of enums as cmdlet parameters uses to display the possible values the values of the enum and the get the name for the value. Therefore xou get the same text if more than one name has the same value (see example below).
Proposed technical implementation details (optional)
<#
Display option when using an enum as a parameter of an CmdLet.
#>
Enum TestAction
{
Ignore = 0
Skip = 0
Replace = 1
New = 1
Remove = 2
Detete = 2
} # Enum TestAction
Function Test-Enum
{
param
(
[Parameter( Mandatory )]
[TestAction]
$Action
)
<#Do something#>
} # Function Test-Enum
<#
If you enter on a prompt
Test-Enum -Action
and try to select an action you get the following sequence:
Ignore
Ignore
Replace
Replace
Remove
Remove
Ignore
It would be nice to get the alias names as well.
Use [enum]::GetNames() instead [enum]::GetValues().
#>
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit Issue #396 und reproduziere das Beispiel für die cmdlet-Parametervervollständigung mit doppelten enum-Werten. Untersuche den Einstiegspunkt der Parametervervollständigung, der derzeit enum-Werte abruft, und überprüfe anschließend, dass die Vervollständigung jeden Namen enthält, einschließlich Aliassen wie Skip, New und Detete, ohne doppelte wertbasierte Vorschläge.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- powershell
- Bereich
- cli
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100