public virtual object Clone() { ListWithOnChanged <T> clone = new ListWithOnChanged <T>(); T[] arr = this.ToArray(); clone.AddRange(arr); return(clone); }
/// <summary> /// Inisialsisasi variabel /// </summary> /// <param name="name">nama variabel</param> /// <param name="description">deskripsi variabel</param> private void initialize(string name, string description) { this.variableName = name; this.variableDescription = description; seriesValues = new ListWithOnChanged <double>(); isValueChanged = false; sumValue = 0; this.seriesValues.Changed += new ChangedEventHandler(SeriesValues_Changed); }
public virtual IList <T> AsReadOnly() { if (this.IsReadOnly) { throw new ListReadOnlyException(); } ListWithOnChanged <T> el = new ListWithOnChanged <T>(this.Inner); el.IsReadOnly = true; return(el); }
/// <summary> /// Fungsi untuk membuat variabel waktu /// </summary> private void createNewTimeData() { DateTime currentDate = new DateTime(startDate.Year, startDate.Month, startDate.Day); this.time = new ListWithOnChanged <string>(); this.xTime = new ListWithOnChanged <DateTime>(); switch (this.frequency) { case SeriesFrequency.Annual: while (currentDate <= this.endDate) { this.time.Add(currentDate.Year.ToString()); this.xTime.Add(currentDate); currentDate = currentDate.AddYears(1); } break; case SeriesFrequency.SemiAnnual: while (currentDate <= this.endDate) { this.time.Add("Half " + (currentDate.Month / 6) + " " + currentDate.Year.ToString()); this.xTime.Add(currentDate); currentDate = currentDate.AddMonths(6); } break; case SeriesFrequency.Quarterly: while (currentDate <= this.endDate) { this.time.Add("Quarter " + (currentDate.Month / 3) + " " + currentDate.Year.ToString()); this.xTime.Add(currentDate); currentDate = currentDate.AddMonths(3); } break; case SeriesFrequency.Monthly: while (currentDate <= this.endDate) { this.time.Add(SeriesData.ConvertIntToMonth(currentDate.Month) + " " + currentDate.Year.ToString()); this.xTime.Add(currentDate); currentDate = currentDate.AddMonths(1); } break; case SeriesFrequency.Weekly: while (currentDate <= this.endDate) { this.time.Add(currentDate.ToString("dd/MM/yy")); this.xTime.Add(currentDate); currentDate = currentDate.AddDays(7); } break; case SeriesFrequency.Daily: while (currentDate <= this.endDate) { this.time.Add(currentDate.ToString("dd/MM/yy")); this.xTime.Add(currentDate); currentDate = currentDate.AddDays(1); } break; case SeriesFrequency.Daily6: while (currentDate <= this.endDate) { if (currentDate.DayOfWeek != DayOfWeek.Sunday) { this.time.Add(currentDate.ToString("dd/MM/yy")); this.xTime.Add(currentDate); } currentDate = currentDate.AddDays(1); } break; case SeriesFrequency.Daily5: while (currentDate <= this.endDate) { if (currentDate.DayOfWeek != DayOfWeek.Sunday && currentDate.DayOfWeek != DayOfWeek.Saturday) { this.time.Add(currentDate.ToString("dd/MM/yy")); this.xTime.Add(currentDate); } currentDate = currentDate.AddDays(1); } break; case SeriesFrequency.Undated: for (int i = 0; i < this.numberObservations; i++) { this.time.Add(Convert.ToString(i + 1)); } break; } }