2012-01-13 55 views
0

我希望能夠創建一個我可以叫喜歡在我的遊戲靜態類,所以我可以移動精靈的方法。例如:如何創建一個可以像靜態類一樣訪問的方法?

代碼

functions.move(Vector2Position) 

的問題是,我不能在靜態方法中使用實例構造函數。有沒有辦法做到這一點,還是我需要做別的事情?

編輯:

我需要能夠調用這個當前類之外。

+1

你是什麼意思「我不能在靜態方法中使用實例構造函數」?你可以在靜態方法中使用構造函數(它是實例即將成爲的成員)。 – 2012-01-13 04:41:45

+1

也許你的意思是你不能在靜態方法中使用實例方法?這很正常,因爲靜態方法存在於對象實例的範圍之外。 – 2012-01-13 04:45:31

回答

4

看一看Static ConstructorsStatic Classes MSDN上。總之:

可以聲明使用「靜態」關鍵字的靜態類。這表明一個類不能被實例化。請注意,靜態方法也可以存在於普通類中,而不僅僅是標記爲「靜態」的。

// Static constructor 
static MyClass() 
{ 
    value = 1; 
} 

你會再調用與下面的代碼的方法:

static class MyClass 
{ 
    private static int value; 
    public static int GetValue() { return value; } 
} 

,如果您需要初始化類以任何方式你可以有一個靜態構造函數。這可以在任何地方完成 - 在任何其他靜態或實例方法中。

int someValueSomewhere = MyClass.GetValue();