Всем доброго времени суток.
Новичок в C#, пока только учусь программировать. Пишу небольшое приложение под сторонний API и столкнулся с проблемой и не могу найти решение.
Имеется консольное приложение с подключенным API. Данный API предназначен для постоянный трансляции данных. В моем случае существуют метод и класс. При их использовании, я получаю огромное кол-во данных в виде таблички. Моя задача - "вытащить" только определенные пункты из этих данных и назначить их на собственные переменные. Американская поддержка молчит в этом плане, поэтому прошу помощи у знатоков.
Не судите строго.
Собственно используемые методы и коды + то, что хочу получить на выходе.
public override void AskQuote(AskInfo oInfo)
{
StringBuilder sb = new StringBuilder();
oInfo.Dump(sb);
Console.Out.Write(sb);
}
Класс:
public class AskInfo
{
public AskInfo();
public CallbackType CallbackType { get; set; }
public string Exchange { get; set; }
public int ImpliedSize { get; set; }
public double LeanPrice { get; set; }
public int NumOrders { get; set; }
public double Price { get; set; }
public int Size { get; set; }
public string Symbol { get; set; }
public UpdateType UpdateType { get; set; }
public int Ssboe { get; set; }
public int Usecs { get; set; }
public object Context { get; set; }
public void Dump(StringBuilder sb);
}
Выводится данный код через следующую команду:
oEngine.subscribe(sExchange, sSymbol, SubscriptionFlags.Prints, null);
сам subscribe:
public void subscribe(string sExchange, string sSymbol, SubscriptionFlags eFlags, object oContext);
На выходе я получаю следующую инфо в консоли:
AskInfo :
symbol : ESM0
exchange : CME
price : 2490,75
size : 13
implied size : 0
num orders : 8
lean price : 0
update type : Solo
callback type : Update
context :
timestamp : 1585782112.588152
AskInfo :
symbol : ESM0
exchange : CME
price : 2490,5
size : 10
implied size : 0
num orders : 8
lean price : 0
update type : Solo
callback type : Update
context :
timestamp : 1585782112.788476
В чем собственно вопрос. Эти данные поступают постоянно (и достаточно часто) и обновляются постоянно.
Что мне нужно - это выделить определенные значения и назначить собственные переменные (например вытащить значение price, exchange либо вообще любое из тех, которые предоставляются). Т.е., я хочу получить double Price из AskInfo. Каким образом это можно сделать? Спасибо!
p.s.: Добавляю еще enum котрый называется SubscriptionFlags:
[Flags]
public enum SubscriptionFlags
{
None = 0,
Prints = 1,
Quotes = 2,
Best = 4,
Close = 8,
PrintsCond = 16,
Settlement = 32,
Open = 64,
MarketMode = 128,
HighLow = 256,
TradeVolume = 512,
ClosingIndicator = 1024,
OpeningIndicator = 2048,
OpenInterest = 4096,
RefData = 8192,
MidPrice = 16384,
HighBidLowAsk = 32768,
PriceLimit = 65536,
ProjectedSettlement = 131072,
All = 262143
}