Parsing dei parametri C# e VB.NET

Dovete realizzare una applicazione console in ambiente .Net, con parametri in riga di comando? Non perdete tempo a creare routine custom per verificare la presenza dei parametri, lasciate fare tutto a CommandLineParser. L’installazione è semplice da NuGet. Basta fornire una classe modello con gli opportuni metadati e richiamare il parser, in output otterrete l’oggetto con i valori dei parametri popolati.

Ad esempio:

using System;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using System.Diagnostics;
using System.Threading;
using CommandLine;

namespace TxtTrasformation
{
    internal class Program
    {
        public class Options
        {
            [Option('f', "FilePath", Required = true, HelpText = "Inserisci il nome file da elaborare")]
            public string  FilePath { get; set; }
        }
        private static void Main(string[] args)
        {
            Parser.Default.ParseArguments<Options>(args)
                   .WithParsed<Options>(o =>
                   {
                       ElaboraFile(o.FilePath);
                   });
        }
        static void ElaboraFile(string filein) {
            Stopwatch sw = new Stopwatch();
            sw.Start();
/*
Elaborazione...
*/
            sw.Stop();

        }
    }
}

La classe Options definisce un parametro obbiligatorio “f” di tipo testo. Se il parsing dei parametri fallisce, viene automaticamente visualizzata la schermata di riepilogo dei parametri. In alternativa si può gestire l’errore nella funzione:

.WithNotParsed((errs) => HandleParseError(errs));

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.