该事件侦听每秒发布更新的Tick Data(股票收盘价)。我可以使用console.Writeline看到这一点。
我想得到收盘价,并将其添加到我的主类中的List。但是,看起来tickList变量超出了范围。无论我使用的访问修饰符。
不确定如果正确解决问题。我尝试使用多线程方法,但第一次收盘价会停止线程,所以我看不到后续的费率更新。任何建议的人?
这是主类代码。
class Program
{
List<Data> tickList = new List<Data>();
static void Main(string[] args)
{
SamplePattern runSamplePattern = new SamplePattern();
TickData runPublisher = new TickData();
runPublisher.TickUpdated += OnTickUpdated;
runPublisher.PublishTickData();
Console.ReadKey();
}
private static void OnTickUpdated(object source, TickEventArgs args)
{
Console.WriteLine(args.Close);
Data close = new Data();
// I am trying to add the close price to a list called tickList
}
}
class Data
{
public double Close { get; set; }
}
答案 0 :(得分:1)
由于您的方法都是static
,因此您还需要将tickList
创建为static
字段:
class Program
{
static List<Data> tickList = new List<Data>();
如果您省略static
关键字,tickList
将成为Program
的实例成员。但是您的方法是static
,因此没有Program
的实例。
有关详细信息,请参阅static
in the C# reference。