Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

verbs with same or options

Offen
#935 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

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

Rechercherichtung

Beginne mit dem F#-Beispiel und dem im Issue gezeigten Aufruf ParseArguments<SerializeOptions, DeserializeOptions>(argv). Verfolge, wie geerbte CommonOptions und Verb-Attribute verarbeitet werden, und ermittle, ob gemeinsame Optionstypen und verb-spezifische Informationen unterstützt werden. Als erledigt gilt die Aufgabe, wenn das Verhalten für diesen Fall eindeutig festgelegt ist und die im Issue angeforderte Verwendung entweder unterstützt oder ausdrücklich als nicht unterstützt dokumentiert wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Hello, I would like to ask you, whether there can be considered having some verbs with similar or even same options? That is, when the option classes have some relations like inheritance or they are based on same type in F#. Is there possibility to have somehow Parsed with additional info related to verb itself - like verb string or verb attribute?

An example in F#

open CommandLine

type CommonOptions = {
    [<Option('c', "connectionString", Required = true, HelpText = "MongoDB connection string.")>]
    ConnectionString: string
    [<Option('n', "dbCollection", Required = true, HelpText = "Database and collection name in the format 'databaseName.collectionName'.")>]
    DbCollection: string
    [<Option('d', "dir", Required = true, HelpText = "Directory path for serialization or deserialization.")>]
    Directory: string
    [<Option('b', "batchSize", Default = 1000, HelpText = "Batch size for processing.")>]
    BatchSize: int
    [<Option('s', "skip", Default = 0, HelpText = "Number of chunks to skip.")>]
    Skip: int
}
[<Verb("dump", HelpText = "Serialize (dump) a MongoDB collection to a json.gz file.")>]
type SerializeOptions = CommonOptions

[<Verb("restore", HelpText = "Deserialize (restore) a json.gz file to a MongoDB collection.")>]
type DeserializeOptions = CommonOptions

Then the classic handling as described in the main page
let result = Parser.Default.ParseArguments<SerializeOptions, DeserializeOptions>(argv) ...
won't work (matches with NotParsed).

Vorherrschende Sprache
C#
Sterne
4.8k
Forks
478
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus commandlineparser/commandline

Alle Issues in commandlineparser/commandline

Ähnliche Issues

Weitere Issues zu C#

Neue Issues direkt in Ihr Postfach

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