如何让API不打印到文本框? [英] How do I get API not printing out to the textbox?
问题描述
大家好!因此,在了解了如何使API工作之后,我设法将其设置为完美地将数据打印到标签上。现在,当我尝试做同样的事情,但使用不同的API(几乎相同的一个)时,它决定不打印出来,感觉就像我错过了一些代码,它只是我吗?
第一个自动收报机(Update_BTC_Ticker)运行完美,它打印出来应该是,但另一个(Update_BTC_Trades)不想打印出来,我错过了什么?也许对这些类型的东西有更好关注的人能够弄明白。
private void Update_BTC_Ticker( object sender, EventArgs e)
{
var client = new RestClient( https://btc-e.com/api);
var request = new RestRequest( 2 / btc_usd / ticker,Method.GET);
// request.AddHeader(Key,46G9R9D6-WJ77XOIP-XH9HH5VQ-A3XN3YOZ-8T1R8I8T) ;
request.OnBeforeDeserialization = resp = > {resp.ContentType = application / json; };
IRestResponse< BtcUsdTicker> response = client.Execute< BtcUsdTicker>(request);
sellLabel.Text = Convert.ToString(response.Data.ticker.sell);
buyLabelTrue.Text = Convert.ToString(response.Data.ticker.buy);
}
private void Update_BTC_Trades( object sender,EventArgs e)
{
var client = new RestClient( https ://btc-e.com/api跨度>);
var request = new RestRequest( 2 / btc_usd / trades,Method.GET);
// request.AddHeader(Key,46G9R9D6-WJ77XOIP-XH9HH5VQ-A3XN3YOZ-8T1R8I8T) ;
request.OnBeforeDeserialization = resp = > {resp.ContentType = application / json; };
IRestResponse< BtcTradeTicker> response = client.Execute< BtcTradeTicker>(请求);
textBox1.Text = Convert.ToString(response.Data.tradeTicker.price);
}
public class BtcUsdTicker
{
public Ticker ticker {获得跨度>; set ; }
}
public class Ticker
{
public float high {获得跨度>; set ; }
public float low { get 跨度>; set ; }
public float avg { get 跨度>; set ; }
public float vol { get 跨度>; set ; }
public float vol_cur { get 跨度>; set ; }
public float last { get 跨度>; set ; }
public float 购买{获取跨度>; set ; }
public float sell { get 跨度>; set ; }
public int updated { get 跨度>; set ; }
public int server_time { get 跨度>; set ; }
}
public class BtcTradeTicker
{
public tradeTicker tradeTicker { get < /跨度>; set ; }
}
public class tradeTicker
{
public int date {获得跨度>; set ; }
public double price { get 跨度>; set ; }
public double 金额{ get 跨度>; set ; }
public int tid { get 跨度>; set ; }
public string price_currency { get 跨度>; set ; }
public string item { get 跨度>; set ; }
public string trade_type { get 跨度>; set ; }
}
我的尝试:
我已经尝试将它们重命名以使它们不同,我起初就是这个问题现在我只是觉得头晕而且似乎无法找到问题。调试器也没有任何帮助。
我的计时器阻止该方法被击中。
< pre lang =C#> timer1 = new Timer();
timer1.Tick + = new EventHandler(Update_BTC_Ticker);
timer1.Interval = 2000 ;
timer1.Start();
到
timer1 = new Timer();
timer1.Tick + = new EventHandler(Update_BTC_Ticker);
timer1.Tick + = new EventHandler(Update_BTC_Trades);
timer1.Interval = 2000 ;
timer1.Start();
Hello everyone! So after understanding how to get the API to work I managed to set it up so it prints out data to labels flawlessly. Now when I try to do the same thing but with a different API (Almost the same one) it decides not to print it out, feels like I missed some code, is it just me?
The first ticker (Update_BTC_Ticker) works flawlessly, it prints out as it should but the other one (Update_BTC_Trades) does not want to print out, what did I miss out? Maybe someone with a better eye for these types of things would be able to figure it out.
private void Update_BTC_Ticker(object sender, EventArgs e)
{
var client = new RestClient("https://btc-e.com/api");
var request = new RestRequest("2/btc_usd/ticker", Method.GET);
//request.AddHeader("Key", "46G9R9D6-WJ77XOIP-XH9HH5VQ-A3XN3YOZ-8T1R8I8T");
request.OnBeforeDeserialization = resp => { resp.ContentType = "application/json"; };
IRestResponse<BtcUsdTicker> response = client.Execute<BtcUsdTicker>(request);
sellLabel.Text = Convert.ToString(response.Data.ticker.sell);
buyLabelTrue.Text = Convert.ToString(response.Data.ticker.buy);
}
private void Update_BTC_Trades(object sender, EventArgs e)
{
var client = new RestClient("https://btc-e.com/api");
var request = new RestRequest("2/btc_usd/trades", Method.GET);
//request.AddHeader("Key", "46G9R9D6-WJ77XOIP-XH9HH5VQ-A3XN3YOZ-8T1R8I8T");
request.OnBeforeDeserialization = resp => { resp.ContentType = "application/json"; };
IRestResponse<BtcTradeTicker> response = client.Execute<BtcTradeTicker>(request);
textBox1.Text = Convert.ToString(response.Data.tradeTicker.price);
}
public class BtcUsdTicker
{
public Ticker ticker { get; set; }
}
public class Ticker
{
public float high { get; set; }
public float low { get; set; }
public float avg { get; set; }
public float vol { get; set; }
public float vol_cur { get; set; }
public float last { get; set; }
public float buy { get; set; }
public float sell { get; set; }
public int updated { get; set; }
public int server_time { get; set; }
}
public class BtcTradeTicker
{
public tradeTicker tradeTicker { get; set; }
}
public class tradeTicker
{
public int date { get; set; }
public double price { get; set; }
public double amount { get; set; }
public int tid { get; set; }
public string price_currency { get; set; }
public string item { get; set; }
public string trade_type { get; set; }
}
What I have tried:
I've tried renaming them to differate them which I though was the issue at first now I just feel dizzy and cant seem to locate the issue. The debugger wasnt any help aswell.
My timer blocked the method from being hit.
timer1 = new Timer(); timer1.Tick += new EventHandler(Update_BTC_Ticker); timer1.Interval = 2000; timer1.Start();
To
timer1 = new Timer(); timer1.Tick += new EventHandler(Update_BTC_Ticker); timer1.Tick += new EventHandler(Update_BTC_Trades); timer1.Interval = 2000; timer1.Start();
这篇关于如何让API不打印到文本框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!