美好的一天!
我想在控制台应用上订阅活动。 例如,我有一些数据提供者获取事件OnDataChanged - 来自数据库的新数据进入。
所以,我的程序是这样的:
public static void Main()
{
dataProvider.OnDataChanged+=myevent_OnDataChanged;
}
static void myevent_OnDataChanged(object sender, DataChangeEventArgs e)
{
Console.WriteLine("my event!");
}
所以,如果它是一个WinForm应用程序 - 我知道用户应该点击按钮,我的活动将被更改。
但是如何在控制台应用程序中控制和获取事件?我应该写:
public static void Main()
{
while(true)
{
dataProvider.OnDataChanged+=myevent_OnDataChanged;
}
}
还是Console.ReadLine()?
谢谢!
答案 0 :(得分:2)
你必须继续无限奔跑。在此之前抓住处理程序。
试试这个:
dataProvider.OnDataChanged+=myevent_OnDataChanged;
while (true)
{
input = Console.ReadKey(true);
if ConsoleKeyInfo(input.Key == ConsoleKey.C && (input.Modifiers & ConsoleModifiers.Control) == ConsoleModifiers.Control)
{
break;
}
}