Создание класса для работы с датой - C#
Формулировка задачи:
Задание 10. Самостоятельно изучите тип данных DateTime, на основе которого
необходимо создать класс для работы с датой. Данный класс должен содержать следующие
члены класса:
1) Поле
· DateTime data.
2) Конструкторы, позволяющие установить:
· заданную дату
· дату 1.01.2010
3) Методы, позволяющие:
· вычислить дату предыдущего дня;
· вычислить дату следующего дня;
· определить сколько дней осталось до конца месяца.
4) Свойство:
· позволяющее установить или получить значение поле класса (доступно для чтения и
записи)
· позволяющее определить является ли год высокосным (доступно только для чтения).
5) Индексатор, позволяющий определить дату i-того по счету дня относительно
установленной даты (при отрицательных значениях индекса отсчет ведется в обратном
порядке).
6) Перегрузку:
· операции !: возвращает значение true, если установленная дата не является последним
днем месяца, иначе false;
· констант true и false: обращение к экземпляру класса дает значение true, если
установленная дата является началом года, иначе false;
· операции &: возвращает значение true, если поля двух объектов равны, иначе false.
Продемонстрировать работу класса.
помогите срочно надо( не то с универа выпрут(всё это сделать в C#)
Решение задачи: «Создание класса для работы с датой»
textual
Листинг программы
class DateClass
{
DateTime date;
public DateClass()
{
date = new DateTime(2009, 1, 1);
}
public DateClass(DateTime date)
{
this.date = date;
}
public DateTime PrevDay()
{
return date.Subtract(TimeSpan.FromDays(1));
}
public DateTime NextDay()
{
return date.Add(TimeSpan.FromDays(1));
}
public int DaysLeft()
{
return DateTime.DaysInMonth(date.Year, date.Month) - date.Day;
}
public DateTime Date
{
get { return date; }
set { date = value; }
}
public bool IsLeap
{
get { return DateTime.IsLeapYear(date.Year); }
}
public static bool operator !(DateClass a)
{
return DateTime.DaysInMonth(a.Date.Year, a.Date.Month) != a.Date.Day;
}
public static bool operator true(DateClass a)
{
return a.date.Mоnth == 1;
}
public static bool operator false(DateClass a)
{
return a.date.Mоnth != 1;
}
public static bool operator &(DateClass a, DateClass b)
{
return a.Date.Equals(b.Date);
}
public override string ToString()
{
return date.ToString();
}
}