Инициализирующий конструктор - C#

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста, как в конструкторе без параметров правильно прописать new Person со значением Tolstoy ? Как сейчас записано компилятор требует скобки. Ставлю скобки , пробовал разные варианты, не получается.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Конструктор_1
{
    class Program
    {
        static void Main(string[] args)
        {           

            Console.ReadKey();
        }
    }
 
    class Person
    {
       
    }
    class Paper
    {
        public string Publication { get; private set; }    //  свойство типа string , в котором хранится название публикации
        public Person Author { get; private set; }         //  свойство типа Person для автора публикации
        public DateTime PublishDate { get; private set; }  //  свойство типа DateTime c датой публикации
 
        //конструктор c параметрами типа string, Person, DateTime для инициализации всех свойств класса;
        public Paper(string pub, Person author, DateTime date)
        {
            Publication = pub;
            Author = author;
            PublishDate = date;
        }
        // конструктор без параметров, инициализирующий все свойства класса некоторыми значениями по умолчанию
        public Paper() : this("War And Peace", new Person"Tolstoy", new DateTime(1868, 7, 1)) { }

    }
    
}

Решение задачи: «Инициализирующий конструктор»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Конструктор_1
{
    class Program
    {
        static void Main(string[] args)
        {
            
 
            Console.ReadKey();
        }
    }
 
 
 
    class Person
    {
        
        public string Surname { get; private set; }
 
        // тот самый конструктор с параметром
        public Person( string surname)
        {
           
            Surname = surname;
        }
 
        public Person() : this("Толстой")
        {
            
            
            
        }
    }
 
    class Paper
    {
        public string Publication { get; private set; }    //  свойство типа string , в котором хранится название публикации
        public Person Author { get; private set; }         //  свойство типа Person для автора публикации
        public DateTime PublishDate { get; private set; }  //  свойство типа DateTime c датой публикации
 
        //конструктор c параметрами типа string, Person, DateTime для инициализации всех свойств класса;
        public Paper(string pub, Person author, DateTime date)
        {
            Publication = pub;
            Author = author;
            PublishDate = date;
        }
        // конструктор без параметров, инициализирующий все свойства класса некоторыми значениями по умолчанию
        public Paper() : this("War And Peace", new Person("Толстой"), new DateTime(1868, 7, 1)) { }        
    
 
    }
 
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы