我知道這聽起來很簡單,但我在初始化對象時遇到了問題。每當我運行我的代碼。我不斷收到錯誤。我需要初始化上線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