如何在c#中调用non static方法内部的static方法?
面试官给了我这样的场景:
class class1
{
public static void method1(){}
public void method2()
{
//call method1()
}我们该怎么做呢?
发布于 2014-02-04 00:47:17
通常的做法是使用类名调用静态方法。
请参阅:Static Classes and Static Class Members (C# Programming Guide)
静态成员始终由类名而不是实例名访问。无论创建了多少个类实例,都只存在静态成员的一个副本。
所以你的电话应该是这样的:
class1.method1();但这不是必须的
您可以调用没有类名的静态方法,如下所示:
method1();但您只能在包含该静态方法的类中执行此操作,您不能在该类外部调用没有类名的静态方法。
发布于 2014-02-04 00:42:14
如果您在某个类中调用该方法,则只需像这样调用它
public void method2()
{
method1();
}但是,如果应该从另一个类调用它,则必须在其前面加上类的名称
public void method2()
{
class1.method1();
}发布于 2014-02-04 00:42:52
class1.method1();与调用任何其他静态方法相同
显然(正如Selman22指出的)-类名不是必需的。
所以
method1();也会工作得很好
https://stackoverflow.com/questions/21532756
复制相似问题