【发布时间】:2017-05-16 15:48:01
【问题描述】:
我对继承很陌生。尝试使用静态计时器实现基类。每次时间过去,这个计时器都会调用一个抽象函数。原因是从基类继承的两个类将具有同步的计时器。这是代码
基类:
public abstract class UIControllers
{
public enum IndicatorColors
{
Green,
Red,
Yellow,
Blue
}
private static Timer UITimer;
public UIControllers()
{
EnableUITimer();
}
private int intervalInMillis = 500;
/// <summary>
/// Enables the timer responsible for UI effect in the GUI.
/// </summary>
private void EnableUITimer()
{
if (UITimer != null)
{
return;
}
UITimer = new Timer();
UITimer.Interval = intervalInMillis;
UITimer.Elapsed += UITimer_Elapsed;
UITimer.Start();
}
private void UITimer_Elapsed(object sender, ElapsedEventArgs e)
{
TimeElapsed();
}
/// <summary>
/// The function is being called when the time interval ellapsed
/// </summary>
protected abstract void TimeElapsed();
...
派生类:
protected override void TimeElapsed()
{
....
}
它仅适用于从基类继承的两个类中的一个(无论哪个类首先实例化,它都适用)。
谢谢
【问题讨论】:
-
我们需要查看您的完整实施。为我们提供足够的代码来重现和理解问题。
-
我认为我们无法为您调试
........
标签: c# inheritance