using System.Collections.Generic; using System; namespace Tesses.Chatr.Server { public class Arguments { public Arguments(string[] args) { //--key={value} foreach(var arg in args) { string[] argument=arg.Split(new char[]{'='},2,StringSplitOptions.RemoveEmptyEntries); if(argument.Length >= 1) { string key=argument[0]; string value=null; if(argument.Length ==2) value=argument[1]; } } } private Dictionary _args=new Dictionary(); public IReadOnlyDictionary ArgumentList {get{return _args;}} public static implicit operator Dictionary(Arguments args) { Dictionary dict=new Dictionary(); foreach(var di in args.ArgumentList) { dict.Add(di.Key,di.Value); } return dict; } public bool ContainsKey(string key) { return ArgumentList.ContainsKey(key); } public bool TryGetValue(string key,out string value) { return ArgumentList.TryGetValue(key,out value); } public bool TryGetValueNotNull(string key,out string value) { string value0; if(TryGetValue(key,out value0)) { if(!string.IsNullOrWhiteSpace(value0)) {value=value0; return true;} } value=""; return false; } } }