Я создал простой класс для фильтрации данных из потока данных.Проблема в том, что если я использую более одного объекта ValueFilter, они все используют одну и ту же очередь.Я хочу, чтобы была отдельная очередь для каждого объекта ValueFilter.Я объявляю ValueFilter в моей основной программе следующим образом: ValueFilter filter = new ValueFilter();
Должен ли я использовать какой-то конструктор?
using System;
using Microsoft.SPOT;
using System.Collections;
namespace foo
{
class ValueFilter
{
private const int FILTER_QUEUE_SIZE = 10;
private static int sum = 0;
private static Queue queue = new Queue();
public int FilterValue(int value)
{
if (queue.Count >= FILTER_QUEUE_SIZE)
{
if (System.Math.Abs((int)(value - sum/queue.Count)) < 3000)
{
queue.Enqueue(value);
sum += (int)(value - (int)queue.Dequeue());
}
}
else
{
queue.Enqueue(value);
sum += (int)value;
}
return sum / queue.Count;
}
}