-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

In C# you cannot reference a static method, field, or property accessor from an instance reference (static or otherwise), hence the following code is illegal:

Option timeLimit = OptionBuilder
        .withLongOpt("limit")
        .hasArg()
        .withValueSeparator()
        .withDescription("Set time limit for execution, in mintues")
        .create("l");

So, in order to maintain elegance I have come up with a solution. I have changed OptionBuilder's static methods to instance methods, but created a static property accessor called 'Factory'. Factory is defined as such:

/// <summary>
///             Returns a static instance of OptionBuilder.
/// </summary>
public static OptionBuilder Factory
{
        get { return instance; }
}

So the original code now works with one small variation:

Option timeLimit = OptionBuilder.Factory
        .withLongOpt("limit")
        .hasArg()
        .withValueSeparator()
        .withDescription("Set time limit for execution, in mintues")
        .create("l");

Instead of accessing static methods via a static instance, the code is now accessing instance methods via a static reference. This should avoid performance degradation and maintain the elegant way you have documented to build options via OptionBuilder, with the small addition of 'Factory'.

Thoughts?

- --
- -a

"condensing fact from the vapor of nuance"

gpg pubkey:         http://www.lostcreations.com/~akutz/akutz.gpg
lostcreations ca:  http://www.lostcreations.com/lostcreations.com-ca.crt

On Apr 25, 2008, at 4:43 PM, Schley Andrew Kutz wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Damn Java and its allowing you to access a static method from an instance reference!!! The with... methods in OptionBuilder have lost their elegance...

- --
- -a

"condensing fact from the vapor of nuance"

gpg pubkey:         http://www.lostcreations.com/~akutz/akutz.gpg
lostcreations ca:  http://www.lostcreations.com/lostcreations.com-ca.crt
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)

iD8DBQFIElhkTg8lceyAqqQRAh0gAJ9ScFgyYbkXaVaD7bybyhKyLq89pACg7Z05
v01+3CRt7/h3AdBf6E5LJTY=
=RTaB
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to