2011-08-15 102 views
0

我有類似下面一個類:靜態方法需要幫助

namespace BLL { 
public partial class SomeClass 
{ 

    public void Save(string xmlFile){ 
    //Body 
    } 
    public static Person Parse(string xml) 
    { 
     //Body 
    } 
    } 
} 

問題: 我可以通過創建SomeClass的實例調用保存方法。但是我無法從SomeClass的實例訪問Parse方法。我也試過SomeClass.Parse,仍然沒有運氣。 如果我做BLL.SomeClass.Parse,那麼我只能訪問該Parase方法。

任何人都可以請幫我看看上面的情況發生了什麼?是否只能從namaspace.class.methodname訪問靜態方法?

謝謝。

+0

如果你正在從該類中調用SomeClass.Parse()應該工作,甚至是Parse()。你可以在代碼中顯示你想要調用它的地方嗎? –

+1

'Parse()'是一個靜態方法。你可以使用'ClassName.MethodName()'調用靜態方法。在你的情況下,'SomeClass.Parse(「...」)'。當然,假設命名空間在範圍內。 –

回答

0

假設你在使用命名空間,你應該能夠做SomeClass.Parse。否則,你必須做BLL.SomeClass.Parse。而且不可能從實例對象中調用靜態函數。

0

的確,您無法在類的實例上調用靜態方法。您必須使用班級名稱(如BLL.SomeClass.Parse)。這並不意味着你不能從一個實例中訪問Save(如instanceOfSomeClass.Save(...)