Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This wiki site is used for discussion of topics associated with the commons-cli project whose home page is http://jakarta.apache.org/commons/cli

...

News

Release 1.1 Ported to C#

Version 1.1 of the CLI library has been ported to C# and is available at http://code.lostcreations.com/browser/trunk/lib/csharp/CLI/. You can download the sources from the subversion repository with the following command:

No Format
 
svn co http://svn.lostcreations.com/code/trunk/lib/csharp/CLI/

The following changes were made to CLI while porting:

  • Java's iterator is bi-directional while .NET's enumerator is simple, and uni-directional. I created a class, BidirectionalEnumerator<T> to match the functionality present in Java.
  • Getters and setters have become property accessors. For example, instead of getWidth() and setWidth(), there is now Width { get; set; }.
  • Method names now begin with upper case.
  • Class level variables are now prefixed with "m_".
  • Interfaces now begin with upper case "I". Ex. CommandLineParser is now ICommandLineParser.
  • I've used generics where possible instead of Objects. Ex. An ArrayList of Object types intended to hold strings is now List<string>.
  • I've used Dictionary<Tk,Tv> for a hash table.
  • In Java, the method substring is defined as func(int begin, int end) where end is exclusive and the length to splice is a result of end - begin. In .NET Substring is func(int begin, int length) where length is inclusive. Instead of changing your math I instead created a static class called JavaPorts and have created the method JavaPorts.Substring( string value, int beginIndex, int endIndex ) that functions as Java's substring.

Wiki Markup
There has only been minimal bug testing performed on the port, as it was ported to serve a particular need. Please \[http://code.lostcreations.com/newticket?id=code/newticket&owner=akutz&priority=minor&component=CLI submit bug reports\] as you find them, or \[http://code.lostcreations.com/report/16 view a list of outstanding issues\].

Release 2.0 - Update

We are currently working on the final touches of releasing the 2.0 release. The tasks that remain are to improve code coverage, review and complete javadoc, and complete user documentation.

...