public override bool TryInvokeMember(InvokeMemberBinder binder, object[] args, out object result) { if (args.Length < 2) { throw new ArgumentException("Endpoint and Region must be specified."); } if (!(args[0] is Enum.Endpoint)) { // ReSharper disable once NotResolvedInText throw new ArgumentNullException("Endpoint"); } Endpoint = (Enum.Endpoint)args[0]; if (!(args[1] is Enum.Region)) { // ReSharper disable once NotResolvedInText throw new ArgumentNullException("Region"); } Region = (Enum.Region)args[1]; if (args.Length >= 3) { ClearParameter(); if (args[2] is IEnumerable <KeyValuePair <string, string> > ) { AddParameter((IEnumerable <KeyValuePair <string, string> >)args[2]); } else { args = args.Skip(2).ToArray(); foreach (var arg in args) { if (!(arg is KeyValuePair <string, string>)) { throw new ArgumentException("Parameters required to be KeyValuePair<string, string>"); } AddParameter((KeyValuePair <string, string>)arg); } } } result = Submit(binder.Name); return(true); }
public string Submit(Enum.Endpoint endpoint, string action) { Endpoint = endpoint; return(Submit(action)); }
public string Submit(Enum.Endpoint endpoint, Enum.Region region, string action) { Endpoint = endpoint; Region = region; return(Submit(action)); }