5 c# visual-studio windows-phone-7 windows-phone-8
我试图在Windows Phone应用程序中实现一个计时器.它在Windows Phone应用程序(Silverlight)中工作正常,但它不能在Windows Phone Blank App中工作.但是它给了我以下错误 -
Cannot implicitly convert type System.EventHandler to System.EventHandler<object>
Run Code Online (Sandbox Code Playgroud)
这是我的代码 -
namespace Timer
{
public partial class MainPage : Page
{
DispatcherTimer mytimer = new DispatcherTimer();
int currentcount = 0;
public MainPage()
{
InitializeComponent();
mytimer = new DispatcherTimer();
mytimer.Interval = new TimeSpan(0, 0, 0, 1, 0);
mytimer.Tick += new EventHandler(mytime_Tick);
//HERE error comes Cannot implicitly convert type System.EventHandler to System.EventHandler<object>
}
private void mytime_Tick(object sender,EventArgs e)
{
timedisplayBlock.Text = currentcount++.ToString();
}
private void startButton_Click(object sender, RoutedEventArgs e)
{
mytimer.Start();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试过无法将类型'System.EventHandler'隐式转换为'System.EventHandler <object>'以完成storyboard
但它甚至有帮助.我怎么能修复这个错误?
Dav*_*d L 11
直接引用事件的方法处理程序将推断类型,满足泛型类型声明要求.
mytimer.Tick += mytime_Tick;
Run Code Online (Sandbox Code Playgroud)
或者,明确声明泛型类型并使用通用EventHandler构造函数,
mytimer.Tick += new EventHandler<object>(mytime_Tick);
Run Code Online (Sandbox Code Playgroud)
会做的伎俩.
此外,根据文档,您的处理程序具有错误的签名.它应该是:
private void mytime_Tick(object sender,object e)
{
timedisplayBlock.Text = currentcount++.ToString();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15209 次 |
| 最近记录: |