我的财产是:
private static ObservableCollection<Wynik> lottoWyniki = new ObservableCollection<Wynik>();
public static ObservableCollection<Wynik> LottoWyniki
{
get { return lottoWyniki; }
set { lottoWyniki = value; }
}
稍后在代码中我想向此集合添加对象:
for(i=2;i<=7;i++)
LottoWyniki.Add(new Wynik(i,Date));
我正在添加的每个新对象都将替换之前存在的所有对象。所以在这段代码完成后,我得到的ObservableCollection包含一个(最后一个)重复6次的对象。我做错了什么?
编辑: 在Wynik的构造函数中,我正在做:
public Wynik (int l, DateTime d)
{
Liczba = l;
Data = d;
}
Wynik级别:
class Wynik
{
private static DateTime data;
public static DateTime Data
{
get { return data; }
set { data = value; }
}
private static int liczba;
public static int Liczba
{
get { return liczba; }
set { liczba = value; }
}
public Wynik (int l, DateTime d)
{
Liczba = l;
Data = d;
}
}
答案 0 :(得分:1)
你的班级变量很可能是静态的。尝试将所有属性更改为非静态成员,这将解决您的问题。
答案 1 :(得分:0)
将您的班级更改为:
class Wynik
{
private DateTime data;
public DateTime Data
{
get { return data; }
set { data = value; }
}
private int liczba;
public int Liczba
{
get { return liczba; }
set { liczba = value; }
}
public Wynik (int l, DateTime d)
{
Liczba = l;
Data = d;
}
}
问题是您的属性都是static
,这意味着您的类的每个实例都共享相同的属性。这不是你有一个具有相同对象的数组6次,你有6个不同的对象,你只是无法区分它们因为它们都具有Data
和Liczba
的相同值