Parsing Command-Line Arguments with InstallContext

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • mriedel

    Parsing Command-Line Arguments with InstallContext

    I'm using the InstallContext class to parse the command-line arguments of a console application. The arguments are in the form of "-file=myFile.txt -flag", and the InstallContext object gives me what I need through the Parameters and IsParameterTrue properties.

    However, I can't find any documentation or code samples that confirm that this is an acceptable use of the InstallContext class. I understand the need to use Regex or some other means to parse more complex command-line arguments, but I'm surprised to find no mention of this simple parsing alternative. Is there anything wrong with using InstallContext for this purpose

    using System;
    using System.Configur ation.Install;
    using System.Collecti ons.Specialized ;

    class MyClass
    {
    public static void Main(string[] args)
    {
    InstallContext context = new InstallContext( null, args);
    StringDictionar y parameters = context.Paramet ers;

    string file = parameters["file"];
    bool flag = context.IsParam eterTrue("flag" );

    Console.WriteLi ne("file = {0}", file);
    Console.WriteLi ne("flag = {0}", flag);
    }
    }
  • Chris R. Timmons

    #2
    Re: Parsing Command-Line Arguments with InstallContext

    "=?Utf-8?B?bXJpZWRlbA= =?=" <anonymous@disc ussions.microso ft.com>
    wrote in news:D9787DEE-2985-407A-882D-4EBB76BF1D86@mi crosoft.com:
    [color=blue]
    > I'm using the InstallContext class to parse the command-line
    > arguments of a console application. The arguments are in the
    > form of "-file=myFile.txt -flag", and the InstallContext object
    > gives me what I need through the Parameters and IsParameterTrue
    > properties.
    >
    > However, I can't find any documentation or code samples that
    > confirm that this is an acceptable use of the InstallContext
    > class. I understand the need to use Regex or some other means to
    > parse more complex command-line arguments, but I'm surprised to
    > find no mention of this simple parsing alternative. Is there
    > anything wrong with using InstallContext for this purpose?[/color]

    I looked at the underlying source code for InstallContext with
    Reflector (http://www.aisto.com/roeder/DotNet/). As far as I can
    see, InstallContext doesn't produce any side effects, so it looks
    safe to use.

    Thanks for bringing this class to light. With over 5000 classes in
    the framework, it's too easy to overlook a gem like this.

    --
    Hope this helps.

    Chris.
    -------------
    C.R. Timmons Consulting, Inc.

    Comment

    Working...