- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
public class Man
{
public Man(string id, string name, IEnumerable<Brother> brothers, Guid id, int year, int age) : base(id, year)
{
this.Name = name;
this.Brothers = brothers;
this.Id = id;
this.Age = age;
}
public Man(string id, string name, string note, IEnumerable<Brother> brothers, Guid id, int year, int age) : base(id, note, year)
{
this.Name = name;
this.Brothers = brothers;
this.Id = id;
this.Age = age;
}
public Man(string id, string name, IEnumerable<Brother> brothers, Guid id, int year, int age) : base(id, year)
{
this.Name = name;
this.Brothers = brothers;
this.Id = id;
this.Age = age;
}
public Man(string id, string name, string note, IEnumerable<Brother> brothers, Guid id, int year, int age) : base(id, note, year)
{
this.Name = name;
this.Brothers = brothers;
this.Id = id;
this.Age = age;
}
public Man(string id, string name, Guid id, int year, int age) : base(id, year)
{
this.Name = name;
this.Brothers = new List<Brother>() { new Brother(Guid.NewGuid().ToString()) };
this.Id = id;
this.Age = age;
}
public Man(string id, string name, string note, Guid id, int year, int age) : base(id, note, year)
{
this.Name = name;
this.Brothers = new List<Brother>() { new Brother(Guid.NewGuid().ToString()) };
this.Id = id;
this.Age = age;
}
public Man(string id, string name, Guid id, int year, int age) : base(id, year)
{
this.Name = name;
this.Brothers = new List<Brother>() { new Brother(Guid.NewGuid().ToString()) };
this.Id = id;
this.Age = age;
}
public Man(string id, string name, string note, Guid id, int year, int age) : base(id, note, year)
{
this.Name = name;
this.Id = id;
this.Brothers = new List<Brother>() { new Brother(Guid.NewGuid().ToString()) };
this.Age = age;
}
public string Name { get; }
public Guid Id { get; }
public IEnumerable<Brother> Brothers { get; }
public int Age { get; }
}
Человек знал, но нехотел использовать значение параметра конструктора по умолчанию, потому что это усложняет структуру.
Переменные переназвал почеловечнее.
А получить оные не настолько сложно.
p.s. я кстати может чего не понимаю, но какие базовые конструкторы? он же от System.Object наследуется
Здравствуй, C++
я вот могу только вспомнить throw-декларации
Тут скорее дело не в языке, а в тех, кто его использует. У каждого проекта свои представления (и заблуждения?) о том, что в плюсах хорошо, а что плохо.
Некоторые считают, что исключениями пользоваться принципиально не надо (Google, LLVM), где-то они являются предпочтительным способом сигнализации об ошибках (FB), порой даже неуместно.
Некоторые упарываются по шаблонному метапрограммированию, другие принципиально избегают использования сложных шаблонов.
Использовать или нет RTTI - тоже часто спорный вопрос.
Вообще говоря, многие команды составили себе список "C++: The Good Parts", причём список этих good parts у разных команд может различаться кардинально.
Хомк, подкинь ещё автору идею о том, что можно было бы сделать все возможные варианты перестановки аргументов в конструкторе. Вдруг кому-то будет удобнее передавать сначала братву, а потом айди?
Т.е. поля должны быть { get; set; } . А тут { get } ( м.б, можно было вообще поставить readonly)
Как раз поля ридонли здесь нормально и проинициализируется, как будто из конструктора.
Для пущего страху?
Для пущего страху?
Продублировал твой пост, проверь.