我想使用一种方法来创建一个实例,Adventurer然后将其添加到List<Adventurer>. 一个 for 循环将创建 20 个Adventurer. 我试图避免使用构造函数,因为在路上我将有很多值要传递。如果我试图做的事情是不可能的,我将不得不恢复使用构造函数。
我需要这个方法来创建一个新的实例并Adventurer为其赋值。在这一点上,我不知道如何。另外,我不能创建一个新实例并手动命名它,因为这个方法会被调用很多次。randomGenderrandomClassname
public static Adventurer createAdventurer()
{
Array valuesGender = Enum.GetValues(typeof(AdventurerGender));
AdventurerGender randomGender = (AdventurerGender)valuesGender.GetValue(rand.Next(valuesGender.Length));
Array valuesClass = Enum.GetValues(typeof(AdventurerClass));
AdventurerClass randomClass = (AdventurerClass)valuesClass.GetValue(rand.Next(valuesClass.Length));
string name = "Test " + AdventurerManager.AvaliableAdvList.Count.ToString();
return new Adventurer();
}
这是我的for循环:
for (int i = 0; i < 20; i++)
{
AdventurerManager.AvaliableAdvList.Add(AdventurerManager.createAdventurer());
}
所以我的问题是......是否可以在不手动声明并且不使用构造函数createAdventurer的情况下将值分配给新实例?Adventurer或者在路上的某个地方有一个很长的构造函数会更容易吗?