[Mono-dev] Porting db4o-tool to use Mono.Options rather than Mono.GetOption

Jonathan Pryor jonpryor at vt.edu
Tue Nov 16 23:01:59 EST 2010

On Tue, 2010-11-16 at 18:53 +0000, Paul F. Johnson wrote:
> I'm trying to port it over to use Mono.Options.
> My only problem is that I can't see an equivalent of return
> WhatToDoNext.GoAhead; in Mono.Options. Is there such a beastie and if
> there is, what is it called?

That requires knowing what WhatToDoNext.GoAhead does; best I can easily
find is [0], in which case it's used when placing the [Option] attribute
on a method instead of a field/property.  If this is the scenario you're
dealing with, you would just ignore WhatToDoNext.GoAhead, e.g.

        [Mono.GetOptions.Option("warning level",'w',null)]
        public WhatToDoNext SetWarnngLevel(int warningLevel)
          return WhatToDoNext.GoAhead;

would translate rather straightforwardly to:

        int warningLevel = 0;
        var o = new OptionSet {
                // ...
                { "w=",
                  "warning level",
                  (int wl) => warningLevel = wl },

Meanwhile, if the method returned WhatToDoNext.AbandonProgram, throwing
an exception with a useful message from the callback would be

 - Jon


More information about the Mono-devel-list mailing list