Получить / установить для частной статической коллекции? - PullRequest
3 голосов
/ 31 октября 2011

Я определил класс со следующим свойством:

 private ObservableCollection<Job> allJobs;

Доступ определяется следующим образом:

    public ObservableCollection<Job> AllJobs
    {
        get
        {
            return this.allJobs;
        }
        set
        {
            this.allJobs = value;
        }
    }

Набор get работает нормально, когда я назначаю целую коллекцию ObservableCollectionсвойство, набор прекрасно работает для его извлечения.Но почему я потерял все методы, которые обычно позволяют мне «Добавить» (т.е. добавить 1 задание в коллекцию)?

В данный момент мне нужно создать временную коллекцию для заполнения, чтобы затем назначить ее длясвойство allJobs, и мне не нужно.

Есть идеи ??

Ответы [ 2 ]

4 голосов
/ 31 октября 2011

Что вы имеете в виду под «потерянными методами»?Вы пробовали 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; } 
    } 
}
1 голос
/ 31 октября 2011

Обычно вам не нужен установщик для такого свойства, так как вы потеряете все события, связанные с ObservableCollection, когда используется установщик.

public ObservableCollection<Job> AllJobs { get; private set; }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...