2011-11-22 55 views
0

昨晚我創建了一個類,它必須獲得另一個類的引用,然後將它傳遞給子類。首先,我只是定義父參考:奇怪的新的引用創建消息

Classes.Workspace.Manager Workspace; 

而且通過定義一個新的WidgetManager然後使工作區:

Classes.Widget.Manager WidgetManager = new Classes.Widget.Manager(); 

public Widget() 
{ 
    WidgetManager.Workspace = Workspace; 
} 

但它表明我要Workspace創建新基準的誤差。這對我來說很奇怪,因爲我爲所有其他類做了這些工作,只是定義一個引用Workspace值,然後將相關數據傳遞給它們並將它們提供給子類。無論如何,我重新定義了它,並開始工作。但今天當我打開這個項目時,我一直在檢查這個問題,刪除了Workspace變量的新對象創建部分,我的所有主題都在這裏,因爲它再也沒有給我任何錯誤並且完美運行。我不知道今天之前的反應如何?

謝謝。

作簡短

這給了我一個錯誤:

Classes.Workspace.Manager Workspace; 

但是,這並不:

Classes.Workspace.Manager Workspace = new Classes.Workspace.Manager(); 

我不使用工作區中的這個類我只是得到它此類別中另一個工作空間的引用。

+1

請更具體。錯誤說的是什麼?它是什麼樣的錯誤? – SLaks

+0

創建Workspace類的新引用時出錯。我的意思是:'Classes.Workspace.Manager Workspace = new Classes.Workspace.Manager();'。 – MahanGM

+0

**錯誤說**是什麼?它是什麼樣的錯誤? – SLaks

回答

1

Classes.Workspace.Manager Workspace;不初始化工作區,它沒有實例 - 必須使用new進行初始化,就像您以後要做的那樣。

你得到的錯誤是告訴你,你沒有初始化對象,它是沒有實例的引用。它在添加new和初始化之後起作用,因爲這是實際創建實例的方式。它不再爲null /未引用。

+0

我知道這一點。你知道嗎,幾天前我得到了一個StackOverflowException,因爲創建了太多不同類的實例。接下來,我從他們不需要實例化的變量中刪除'new',因爲大多數變量都需要從其他類中引用。這是事情。哦,順便說一句,你認爲如何在不定義這些新實例的情況下進行編程? :)我不是n00b。 – MahanGM

+0

在stackoverflow中有許多層次的程序員,我沒有任何假設:)只是要明確你不僅僅是你,還有任何人在這個問題上徘徊。對不起,如果這沒有幫助你! –

+0

不,我不想冒犯,但由於沒有人幫助我圍繞這個話題,我只是有點nerv0us :) – MahanGM