相关疑难解决方法(0)

为什么整数属性有时会返回0?

[编辑:我意识到失败的参数实际上是一个double而不是整数.根据日志,整数计时器都不会失败.大多数计时器和参数都是整数,但不是全部.双打不是原子的,毕竟缺乏锁定可能是个问题.

我有一个应用程序,它使用包含可配置值属性的类.应用程序中使用的大多数属性都是派生的.这些值在启动时设置,并且在应用程序的主要部分运行时不会更改.

private int _TimerInterval;
public int TimerInterval { get { return _TimerInterval; } }

private int _Factor1;
public int Factor1 { 
  set { 
    _Factor1 = value;
    _TimerInterval = _Factor1 * _Factor2;
  }
  get { return _Factor1; }
}

private int _Factor2;
public int Factor2 { 
  set { 
    _Factor2 = value;
    _TimerInterval = _Factor1 * _Factor2;
  }
  get { return _Factor2; }
}
Run Code Online (Sandbox Code Playgroud)

我发现由于异常,返回的值很少显然为零.

Exception Message: '0' is not a valid value for 'Interval'. 'Interval' must be   greater than 0. …
Run Code Online (Sandbox Code Playgroud)

c# multithreading properties timer c#-4.0

5
推荐指数
1
解决办法
809
查看次数

标签 统计

c# ×1

c#-4.0 ×1

multithreading ×1

properties ×1

timer ×1