public CommandLineParser Parse(String[] Arguments)
{
for (var i=0; i<Arguments.Length; i++)
{
#region Parse --longoption
if (Arguments[i].StartsWith("--"))
{
if (LongOptions.ContainsKey(Arguments[i].Remove(0, 2)))
{
var Action = LongOptions[Arguments[i].Remove(0, 2)];
var s = "";
var j = i + 1;
while (!Arguments[j].StartsWith("-"))
{
s += " " + Arguments[j];
j++;
}
Action(s.Trim());
i = j - 1;
}
continue;
}
#endregion
#region Parse -shortoption
if (Arguments[i].StartsWith("-"))
{
if (ShortOptions.ContainsKey(Arguments[i][1]))
{
var Action = ShortOptions[Arguments[i][1]];
var s = "";
var j = i + 1;
while (!Arguments[j].StartsWith("-"))
{
s += " " + Arguments[j];
j++;
}
Action(s.Trim());
i = j - 1;
}
}
#endregion
}
return this;
}