[英]Get/Set for a Private Static Collection?
我已經定義了一個具有以下屬性的類:
private ObservableCollection<Job> allJobs;
訪問定義如下:
public ObservableCollection<Job> AllJobs
{
get
{
return this.allJobs;
}
set
{
this.allJobs = value;
}
}
當我將整個ObservableCollection分配給屬性時,get set工作正常,該set可以很好地檢索它。 但為什么我丟失了通常允許我“添加”的所有方法(即將1個作業添加到集合中)?
目前我不得不創建一個臨時集合來填充然后分配給allJobs屬性,我不應該這樣做。
有任何想法嗎??
“失去的方法”是什么意思? 你試過AllJobs.Add()嗎? 以下代碼適用於我:
void Main()
{
AllJobs = new ObservableCollection<Job>();
AllJobs.Add(new Job());
}
public class Job { }
private ObservableCollection<Job> allJobs;
public ObservableCollection<Job> AllJobs
{
get
{
return this.allJobs;
}
set
{
this.allJobs = value;
}
}
編輯:
根據你的評論我修改了我的代碼如下,但一切仍然適用於我,我注意到你沒有看到你在任何地方初始化allJobs集合。
void Main()
{
PresentationManager.Instance.AllJobs.Add(new Job());
}
public class Job { }
sealed class PresentationManager
{
public static readonly PresentationManager Instance = new PresentationManager();
private PresentationManager()
{
allJobs = new ObservableCollection<Job>();
}
private ObservableCollection<Job> allJobs;
public ObservableCollection<Job> AllJobs
{
get { return this.allJobs; }
set { this.allJobs = value; }
}
}
通常,您不希望為此類屬性設置setter,因為在使用setter時,您將丟失綁定到ObservableCollection的所有事件。
public ObservableCollection<Job> AllJobs { get; private set; }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.