2013-08-17 42 views
2

Noob問題在這裏,但我真的卡住了!可以通過應用程序使用的類

我試圖建立一個類,雖然可以使用我的應用程序稱爲UpdateDatabaseUpdateDatabase.cs文件存儲在我的AppName.Helpers名稱空間中,並且我已將using AppName.Helpers聲明爲UpdateDatabase

我在撥打UpdateDatabase時遇到問題。我已將其設置爲public class UpdateDatabase。這是正確的做法嗎?

範圍內UpdateDatabase我有幾個其他類UpdateCustomers,UpdateEmployeesUpdateProducts。我希望用戶能夠點擊一個按鈕,請撥打UpdateDatabase,然後開始執行UpdateDatabase中的三個「子類」。

無處不在,我稱之爲UpdateDatabase我得到一個錯誤說AppName.Helpers.UpdateDatabase' is a 'type' but is used like a 'variable

+1

請發佈代碼給你的錯誤。 –

回答

3

你可能會試圖做這樣的事情:

UpdateDatabase.UpdateCustomers();

您有幾種選擇在這裏:

1)創建類別的對象

var helper = new UpdateDatabase(); 
helper.UpdateCustomers(); 

2)使用它作爲一個靜態類

public static class UpdateDatabase { 
    public static void UpdateDatabase(){} 
} 

爲了使用一個類的方法,你有那麼你訪問這些方法來創建它的一個實例。或者你可以使它成爲靜態的,所以不需要實例,但是這個類將在每次使用時都被共享。

如果這不能解答您的問題,您將不得不使用代碼編輯您的帖子。

+0

謝謝,它的工作!我只是做了你的第一個方法並創建了一個類的對象。幫助了很多! :) –

1

如果您可以顯示一些代碼及其用法將會很有幫助。 我假設問題是,UpdateDatabase類不是靜態類和/或你還沒有創建它的一個實例通過「新建」,以便您可以在代碼的其他部分實際使用它。

2

我不是C#程序員,但它聽起來像你需要實例化你的課。您的課程updateDatabase僅告訴編譯器該變量將如何顯示,而不是實際上是類型updateDatabase對象

在大多數面向對象的語言,你會通過調用其構造當您使用new關鍵詞恰好隱含創建myClass類型的對象。

因此

var db = new updateDatabase(); 
db.myMethod(); 

出於這些原因,編譯器與消息

AppName.Helpers.UpdateDatabase' is a 'type' but is used like a 'variable

0

抱怨有關的onClick按鈕的事件調用你的類像這樣:

UpdateDatabase.subclass(); 
0

沒關係,這裏的每個人都曾經是一個nooblet。 =)

我相信你的問題在於你試圖直接訪問這些方法。

According to MSDN,標記爲公共類'[...]是最寬鬆的訪問級別。訪問公共會員沒有限制。「但是,你需要實例化類,像這樣:

AppName.Helpers.UpdateDatabase _obj = new AppName.Helpers.UpdateDatabase(); 

之後,你就可以使用它的成員(方法和屬性)。

另一方面,您可以聲明您的課程爲static。你不需要實例化它,但是你將不能創建一個實例,也不能銷燬它。

相關問題