Функция не отрабатывает как надо , не получает значения
Имеется следующее ТЗ:
Составить описание класса для представления времени. Предусмотреть возможности установки времени и изменения его отдельных полей (час, минута, секунда) с проверкой допустимости вводимых значений. В случае недопустимых значений полей выбрасываются исключения. Создать методы изменения времени на заданное количество часов, минут и секунд. Написать программу, демонстрирующую все разработанные элементы класса.
Часть кода уже реализовано, но возникла проблема.
Код класса:
namespace ClassProperties.Классы
{
public class Time
{
public DateTime _time = DateTime.Now;
public DateTime time
{
get { return _time; }
set { _time = value; }
}
public DateTime ReplaceTime(int hours, int minute, int seconds)
{
DateTime time1 = time;
time1.AddHours(hours);
time1.AddMinutes(minute);
time1.AddSeconds(seconds);
return time1;
}
}
}
Код окна в котором используется этот класс:
namespace ClassProperties.Окна
{
/// <summary>
/// Логика взаимодействия для Zadanie3.xaml
/// </summary>
public partial class Zadanie3 : Window
{
public Zadanie3()
{
InitializeComponent();
}
Time timeclass = new Time();
private void GetTB_Click(object sender, RoutedEventArgs e)
{
Res2.Content= timeclass.time.ToString("hh:mm:ss");
}
private void ChangeBT_Click(object sender, RoutedEventArgs e)
{
int hours = Convert.ToInt32(HourTB.Text);
int minutes = Convert.ToInt32(MinuteTB.Text);
int seconds = Convert.ToInt32(SecTB.Text);
if (hours > 24 && minutes > 60 && seconds > 60 &&hours < 0 && minutes < 0 && seconds < 0)
{
MessageBox.Show("Неправильно ввдены данные (часов не больше 24 , минут не больше 60 , секунд не больше 60");
return;
}
if (hours < 0 && minutes < 0 && seconds < 0)
{
MessageBox.Show("Не может быть отрицательных чисел");
return;
}
else
{
Res.Content = timeclass.ReplaceTime(hours, minutes, seconds).ToString("hh:mm:ss");
}
}
}
}
Выводит следующее:
Хотя по логике , должен к 02:55:28 добавить 2 часа , 3 минуты , 4 секунды Буду признателен за любую помощь!
Источник: Stack Overflow на русском