123 456 789 0
123 456 789 0

Reputation: 10865

ObservableCollection in C#

Consider I have two classes.

Professor and TimePerDay.

 public class TimePerDay
{
    private ObservableCollection<TimeSpan> _subjTime;
    public ObservableCollection<TimeSpan> subjTime
    {
        get { return _subjTime; }
        set { _subjTime = value; } 
    }
}
private ObservableCollection<TimePerDay> _actualTime;
    public ObservableCollection<TimePerDay> actualTime
    {
        get { return _actualTime; }
        set { _actualTime = value; RaisePropertyChanged("actualTime"); }
    }

I'm trying to populate the TimePerDay class with each actualTime, my code is

                    ObservableCollection<TimePerDay> facultyTime = new ObservableCollection<TimePerDay>();
                    ObservableCollection<TimeSpan> ts = new ObservableCollection<TimeSpan>();
                    ts.Add(TimeSpan.FromHours(9));
                    facultyTime.Add(new TimePerDay() { subjTime = TimeSpan.FromHours(2) }); 

and it's giving me error that An instance of type System.TypeSpan can not be assigned to a member of type System.Collections.ObjectModel.ObservableCollection. How come it cannot assign a member while what I'm adding has a same type?

Upvotes: 1

Views: 359

Answers (1)

Lee
Lee

Reputation: 144126

In this line:

facultyTime.Add(new TimePerDay() { subjTime = TimeSpan.FromHours(2) });

You are trying to create a new TimePerDay but are assigning a TimeSpan to subjTime which is an ObservableCollection<TimeSpan>. I suspect you want

facultyTime.Add(new TimePerDay() {
    subjTime = new ObservableCollection<TimeSpan> { TimeSpan.FromHours(2) }
});

Upvotes: 1

Related Questions