如何在c#中调用此函数?

时间:2017-06-25 10:00:14

标签: c# visual-studio bitcoin

我正在尝试使用BTC-E的API。我已经可以做一些请求,但是这让我感到困惑:var orderList = btceApi.GetOrderList();

我不知道如何使用orderList来显示我的orderhistory,当我运行它时会抛出异常(在下面的代码中声明)。

我正在使用example by DmT021并尝试在我的表单应用程序中使用某些功能。

该函数声明为:

public OrderList GetOrderList(int? from = null, int? count = null, int? fromId = null,
 int? endId = null, bool? orderAsc = null, DateTime? since = null, DateTime? end = null,
 BtcePair? pair = null, bool? active = null)


    {
        var args = new Dictionary<string, string>()
        {
            { "method", "OrderList" }
        };

        if (from != null) args.Add("from", from.Value.ToString());
        if (count != null) args.Add("count", count.Value.ToString());
        if (fromId != null) args.Add("from_id", fromId.Value.ToString());
        if (endId != null) args.Add("end_id", endId.Value.ToString());
        if (orderAsc != null) args.Add("order", orderAsc.Value ? "ASC" : "DESC");
        if (since != null) args.Add("since", UnixTime.GetFromDateTime(since.Value).ToString());
        if (end != null) args.Add("end", UnixTime.GetFromDateTime(end.Value).ToString());
        if (pair != null) args.Add("pair", BtcePairHelper.ToString(pair.Value));
        if (active != null) args.Add("active", active.Value ? "1" : "0");
        var result = JObject.Parse(Query(args));
        if (result.Value<int>("success") == 0)
            throw new Exception(result.Value<string>("error"));
        return OrderList.ReadFromJObject(result["return"] as JObject);
    }

1 个答案:

答案 0 :(得分:1)

我从未与this particular BtceApi API合作,但是,我将指导您如何获取详细信息。

通过您分享的链接,您可以了解与获取订单详细信息相关的某些要点。

GetorderList返回OrderList类型的对象。 //检查BtceApi.cs的第114行

public OrderList GetOrderList(...){...}

当我们切换到OrderList.cs类时,它包含一个字典类型的字段。

public Dictionary<int, Order> List { get; private set; }
// my comment - poor naming convention **List** used as identifier name

此Collection具有Order形式的值。 Order类也在同一OrderList.cs文件中定义,声明了这些字段:

    public BtcePair Pair { get; private set; }
    public TradeType Type { get; private set; }
    public decimal Amount { get; private set; }
    public decimal Rate { get; private set; }
    public UInt32 TimestampCreated { get; private set; }
    public int Status { get; private set; }

现在,您唯一要做的就是从字典对象orderList中提取Order值,我将其作为家庭作业留给您。从集合中获取Order对象后,您只需使用order.Amount等从对象中读取字段值,其中order的类型为Order