Одна проблема связана с вашим классом Warrior
в конструкторе, где вы пытаетесь установить свойство Name
.У вас есть это (я только включил соответствующие биты):
public Warrior(string name)
{
name = Name;
}
public string Name { get; set; }
Обратите внимание, что вы НЕ устанавливаете здесь свойство Name
.Вы устанавливаете аргумент name
равным свойству Name
(которое, вероятно, null
).
Чтобы исправить это, просто переключите порядок вокруг назначения:
public Warrior(string name)
{
Name = name;
}
Возможно, вы захотите проверить и все остальные ваши свойства (похоже, это была распространенная ошибка, когда выИмейте свойство, которое вы пытаетесь установить на правой стороне =
вместо левой ).
Помните, что вы почти всегда должны назначать общедоступный метод доступа (заглавный), чтобы ваш код set
работал.Старайтесь не изменять частное вспомогательное поле, кроме как из свойства set
method.