2011-01-07 71 views
0

我有類SQLIO有一個方法內部,公共,靜態,覆蓋

public void GetProducts() 
{ 

必須填寫的DataTable這在我的用戶。請通知我必須使用哪個關鍵字(公共覆蓋)才能訪問SQLIO.GetProducts();從UserControl和GetProducts可以訪問UserControl的數據表

+0

我可能會受到此評論的攻擊,但我認爲需要說。如果你不知道內部,公共,靜態,保護之間的區別,你應該閱讀以下鏈接:http://msdn.microsoft.com/en-us/library/wxh6fsc7.aspx重寫甚至不適用於你的嘗試。你真的應該弄清楚抽象方法是什麼意思。 – 2011-01-07 18:22:34

回答

2

如果您希望從沒有實例的類訪問它(如在您的示例SQLIO.GetProducts()中),它應該是public static。爲了使GetProducts()訪問用戶控件的數據表,您可能需要將它作爲參考參數傳遞。或者,您可以修改GetProducts以返回一個DataTable,並在您的UserControl中使用它。

1
DataTable dt; 

    dt = SQLIO.GetProducts(); 

----------------------------------------- 

    public static DataTable GetProducts() 
     { 
     } 
+1

您可以刪除`= new DataTable()`。當對象引用`dt`指向下一行中的* another * DataTable時,實例化新的DataTable沒有意義。 – Heinzi 2011-01-07 18:20:39