我知道这听起来很简单,但我在初始化对象时遇到了问题。每当我运行我的代码。我不断收到错误。我需要初始化上线27C#初始化对象
遭遇“”类型的未处理的异常“System.NullReferenceException”发生在WPFBattle.exe”。‘
于是我问别人,他们告诉我
’你忘记在MainWindow的构造函数中初始化遇到了,因为你没有初始化它,但仍然将它传入,遇到的是空值,这意味着你不能调用autobattle。公共icombat遭遇是声明,它不是初始化它可以像使用new关键字和战斗构造函数一样使用任何用户定义的对象来初始化它。“
所以我试图做到这一点,但我不断收到错误。我不知道为什么它不工作。我重视我的代码的图片,任何帮助将不胜感激
1 namespace WPFBattle
2 {
3
4
5 public partial class MainWindow : Window
6 {
7 private TextBoxStreamWriter consoleWriter;
8 private TextBox outputField;
9 private IList<ICharacter> playerParty = new List<ICharacter>();
10 public ICombat encounter;
11 private CombatThread combatThread;
12
13 public MainWindow()
14 {
15 InitializeComponent();
16
17 // Redirect console
18 consoleWriter = new TextBoxStreamWriter(outputField);
19 Console.SetOut(consoleWriter);
20
21 //creates the two parties
22 List<ICharacter> party = new List<ICharacter>();
23 List<ICharacter> enemy = new List<ICharacter>();
24
25
26
27 //PLACE I NEED TO INITIALIZE MY OBJECT AT
28
29
30 combatThread = new CombatThread(encounter);
31 combatThread.Start();
32 }
33
34 private void textBox_TextChanged(object sender, TextChangedEventArgs e)
35 {
36
37 }
38
39
40 }
41 }
你有任何继承ICombat的类吗?你可能会遇到类似于=新的Combat(); – Davatar
@Davatar谢谢你的回应。在第一张图片附件中,我包含了我的CombatThread代码。 – firmfiasco
@MohitShrivastava我之前看到过这个问题,并通读了解答案,但我无法找到一种方法来实现它与我的代码 – firmfiasco