2013-10-19 39 views
1

我創建了一個公共類和一個包含保存我的應用程序所需的所有代碼的公共子類,並且我希望能夠在其他類中使用此子類。但是,當我鍵入Call Save.Save()(第一個保存是類名稱,第二個子名稱)時,出現此錯誤:「對非共享成員的引用需要對象引用。麻煩訪問我的公共子

我在做什麼錯?這適用於公共變量...

在此先感謝!

這裏是我的代碼格式化...

子:

Public Class Save 
    Public Sub Save() 
     My.Settings.Variable = Class.Variable 
     My.Settings.Variable2 = Class.Variable2 
     [...] 
     My.Settings.Save() 
     MessageBox.Show("Save successful", "Save") 
    End Sub 

調用SUB:

Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click 
     Call Save.Save() 
    End Sub 
+0

顯示您的代碼! – OneFineDay

+0

你不叫'保存'類 - 它是你從中創建一個保存對象的模板 - 請參閱DOnA的答案 – Plutonix

回答

2

要麼掩蓋類和函數Shared或你必須做出類的一個實例。

實例;

Dim _save As New SaveClass 
_save.Save() 

或共享版本;

Public Shared Class SaveClass 
    Public Shared Function Save(.... 

用法;

SaveClass.Save(... 
+0

完美!這工作。謝謝。 – user2844908

+0

該類本身不必是靜態/共享的。 –

+0

必須是一種習慣。 – OneFineDay