dotnet / dotnet/command-line-api

add support for either/or type binding for arguments

Offen
#417 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
Area-App Models enhancement
Vorherrschende Sprache
C#
Sterne
3.7k
Forks
428
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

A common use case is that a given argument should be constrained to be parseable as either `DirectoryInfo` or `FileInfo`. There should be an API that makes this simple to express, performs input validation as expected, and binds the result correctly to a handler parameter.

While in this example a common base type (`FileSystemInfo`) could be passed to the handler, a related question is whether this should be a constraint. If a common base type is not required, the implication is that the type to which the argument is bound at runtime would drive overload resolution between different handlers, although this would add a lot of complexity and is probably not the best direction.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Das Issue nennt keine Dateien, Tests oder Einstiegspunkte. Beginne damit, die vorhandenen APIs für Argumentbindung und Eingabevalidierung zu lokalisieren, und prüfe dann verwandte Tests sowie das Verhalten von Handler-Parametern. Als abgeschlossen gilt die Arbeit, wenn eine API für die Bindung entweder des einen oder des anderen definiert, die Eingabe validiert, das Ergebnis korrekt gebunden und geklärt ist, ob ein gemeinsamer Basistyp erforderlich ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp
Bereich
cli
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.