commandlineparser / commandlineparser/commandline
Backslash parsing problem in argument.
- Langage dominant
- C#
- Étoiles
- 4.8k
- Forks
- 478
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
**Describe the bug**
Read string option with backslash \ and " results in reading " in the string.
**To Reproduce**
```
public class Options
{
[Option('P', "path", Required = true, HelpText = "Set working directory path.")]
public string Path { get; set; }
}
static void Main(string[] args)
{
string path = "";
var result = Parser.Default.ParseArguments(args)
.WithParsed(o =>
{
path = o.Path;
});
if (result.Tag == ParserResultType.Parsed)
{
Console.WriteLine($"Path: {path}");
}
}
```
1. Passing in argument `-P "C:\path\to\read\"`
2. Console output is `Path: C:\path\to\read"`
**Expected behavior**
Read backslash as it is. In the above example, output should be `Path: C:\path\to\read\`
**Additional context**
Am i missing some options?
Ref [issues/226](https://github.com/commandlineparser/commandline/issues/226) reports the same problem, still not fixed?
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par reproduire le problème avec la classe Options et l’argument de ligne de commande fournis, puis suivez le chemin d’analyse des arguments qui gère les antislashs entre guillemets. Vérifiez le comportement en vous référant à l’issue 226 liée pour le contexte. C’est terminé lorsqu’un antislash final est conservé dans la valeur Path analysée et que la reproduction produit la sortie attendue.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- csharp
- Domaine
- cli
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 38/100