所以,我正在使用CookComputings XMLRPC库来与之交谈InfusionSoft(这是一个非常受欢迎的在线CRM).主要方法是:
[XmlRpcMethod("DataService.query")]
IEnumerable<object> QuerySubscriptionStatus(string apiKey,
string table, int limit, int page,
IDictionary queryData, string[] selectedFields);
Run Code Online (Sandbox Code Playgroud)
我很IEnumerable<object>遗憾地使用,因为InfusionSoft XML/RPC API需要它.我希望情况不是这样,但可悲的是.
由于我使用.NET 4.5,我想我可以做一个动态演员:
var subStatus = proxy.QuerySubscriptionStatus(
_key, "RecurringOrder", 500, 0, dict, sarray);
var result = subStatus.Cast<SubscriptionStatus>();
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用,我从C#中得到了一个非常难过的错误:
无法将类型为"CookComputing.XmlRpc.XmlRpcStruct"的对象强制转换为"WBI.Model.SubscriptionStatus".
我已经尝试将我的班级指定为struct; 哎呀我甚至尝试用XMLRpcMember()标签来指定它,但不,它只是不会转换.
我如何与IEnumerable?中的数据进行交互?
我试过的类/结构类型
public struct SubStatus
{
public int AffiliateId;
public int AutoCharge;
public double BillingAmt;
public string BillingCycle;
public int CC1;
public int CC2;
public int ContactId;
public DateTime EndDate; …Run Code Online (Sandbox Code Playgroud)