所以我有class
持有3个计数器:
public class Files
{
private static ObservableCollection<Files> _files = new ObservableCollection<Files>();
private static int _inProcess;
private static int _finished;
private static int _inQueue;
public static ObservableCollection<Files> List
{
get { return _files ; }
set { _files = value; }
}
public static int InProcess
{
get { return _inProcess; }
set
{
_inProcess = value;
}
}
public static int Finished
{
get { return _finished; }
set
{
_finished = value;
}
}
public static int InQueue
{
get { return _inQueue; }
set
{
_inQueue = value;
}
}
}
从另一个班级我想为这些领域增加价值:
Interlocked.Increment(ref Files.InProcess);
但得到了这个错误:
属性或索引器不能作为out或ref参数传递。
这很好用:
Files.InProcess++;
我该如何解决?
答案 0 :(得分:2)
错误非常简单。您不能将属性作为ref传递。在这种情况下,最好的选择是创建方法
public static void IncrementInProcess()
{
Interlocked.Increment(ref _inProcess);
}