2011-08-15 58 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(...)