Есть класс DP:
public class DP
{
public string Number { get; set; }
public string MachineName { get; set; }
public string UserName { get; set; }
public string IPAddress { get; set; }
}
Коллекция oCollectDP:
ObservableCollection<DP> oCollectDP = new ObservableCollection<DP>();
Метод в котором происходит заполнение:
foreach (var item in lstWorkStation) //Список List<string>lstWorkStation
{
DP dp = new DP();
string compName;
new Thread(()=>
{
compName = item;
dp.Number = oCollectDP.Count().ToString();
dp.MachineName = compName;
dp.UserName = getUserNameWMI(compName);
dp.IPAddress = getUserIP(compName);
Dispatcher.Invoke(new Action(() =>oCollectDP.Add(dp)));
}).Start();
}
Коллекция заполняется, но некорректно (т.е дублируются записи в полях dp.UserName или dp.IPAddress). Как это исправить?