DateTime C# WPF Выпадающие списки

Пользователь

от Marina_Rar , в категории: C/C++ , год назад

Не могу разобраться с get и set(если всё дело конечно в этом). Проблема с последней строкой в этой части программы. Выдает ошибку CS0200 - "Невозможно присвоить значение свойству или индексатору "DateTime.Year" - доступ только для чтения"


Пытаюсь присвоить значения, выбранные в выпадающем списке.


Само задание звучит так:


Разработайте и реализуйте приложение WPF, которое:

- содержит три выпадающих списка, с помощью которых можно выбрать год, месяц и день

- количество дней в месяце определяется только после выбора года и месяца, до этого, выпадающий список с выбором дня должен быть не активен

- после выбора всех трёх параметров, должно появляться сообщение с информацией о том, сколько лет, месяцев и дней прошло с выбранной даты до текущего момента


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
namespace lab4
{
    public partial class MainWindow : Window
    {
        string a, b, c;
        string aa, bb, cc;
        DateTime now = DateTime.Now; 

        DateTime dt { get; set; }

    public MainWindow()
        {
            InitializeComponent();
        }
        private void Year_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {

            a = Year.Text;
            DateTime dt = new DateTime();
            dt.ToString();
            
            dt.Year = a;
Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jaren , год назад

@Marina_Rar Все правильно объект DateTime уже создан и само свойство защищено от перезаписи, но Вы можете легко создать новый объект с нужным Вам Годом, к примеру:


1
2
3
4
5
6
7
a = Year.Text;
int year = Int32.Parse(a);
DateTime dt = new DateTime();
dt.ToString();
      
DateTime dt2 = new DateTime(year, dt.Month, dt.Day);
Console.Write(dt2.ToString());


Теперь у Вас будет dt2 с нужным Вам годом.

Пользователь

от Marina_Rar , год назад

@jaren Спасибо огромное, разобралась!