コード例 #1
0
ファイル: QcloudClient.cs プロジェクト: qcjxberin/QcloudSharp
        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);
        }
コード例 #2
0
ファイル: QcloudClient.cs プロジェクト: qcjxberin/QcloudSharp
 public string Submit(Enum.Endpoint endpoint, string action)
 {
     Endpoint = endpoint;
     return(Submit(action));
 }
コード例 #3
0
ファイル: QcloudClient.cs プロジェクト: qcjxberin/QcloudSharp
 public string Submit(Enum.Endpoint endpoint, Enum.Region region, string action)
 {
     Endpoint = endpoint;
     Region   = region;
     return(Submit(action));
 }