2014-03-25 106 views
0

這就是我的意思。在用於構造對象的靜態方法中使用「this」

我有像這樣一個構造函數的類:

Class() : base(GetConstructorArgument1(), GetConstructorArgument2()) 
{ 
} 

因爲在呼叫基地創建的參數,而可能會非常麻煩和噁心。這兩種GetConstructorArgument方法都必須是靜態的。 ()創建一個lambdas的數組。在那些lambda中,我想對「我」正在構建的對象「這個」做些工作。

有沒有辦法做到這一點?

+2

如果這個類是靜態的,爲什麼你需要使用'this'? –

+1

'this'在'static'函數中不可用,因爲根據定義,'static'函數是被調用時不會接收'this'的引用。 – LB2

+1

@LucasAbilidebob也許這個類不是靜態的?你爲什麼認爲這是? –

回答

5

根據定義,這些方法必須在構建this之前運行。這就是爲什麼它們必須是靜態方法。因此,在他們內部沒有真正的方法來訪問this

真的沒有辦法做你所描述的。

0

這兩個GetConstructorArgument方法都必須是靜態的。

我想對「this」(我正在構建的對象)做些工作。

你不能做到這兩個 - 如果方法是靜態的,沒有this工作。靜態方法屬於類,而不屬於實例,所以沒有實例可以使用。

相關問題