Инициализирующий конструктор - 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)) { }
}
}