public和public静态方法

本文关键字:public 静态方法 | 更新日期: 2023-09-27 18:04:27

在阅读了c#编程教程中的访问修饰符后,我得出结论,定义一个方法public足以让它从相同名称空间的另一个Form中"看到"。

然而,在实践中,每当我试图实现这一点时,我还必须将方法定义为static,以便从相同名称空间的其他Forms引用它。

我是不是丢了什么东西?我做错了什么吗?

public和public静态方法

对于public static方法,您不需要对对象的引用。该方法是静态的,可以在class级别访问。

如果你不能访问一个公共方法,那么你需要一个对象的引用,那么你可以。

public class AClass
{
    public void DoSomething() {}
    public static void DoSomethingElse() {}
}

你可以这样使用它们:

AClass.DoSomethingElse(); // no object reference required
AClass.DoSomething(); // will give compiler error, since you have no object reference.
var anObject = new AClass();
anObject.DoSomething(); // will work fine.
anObject.DoSomethingElse(); // compile error (thx hvd).

public static方法不需要对象实例,它们可以在不创建任何类实例的情况下使用

ClassName.MyStaticPublicMethodName()

如果public(非静态)方法需要类的实例,那么public(非静态)方法通常可以帮助您处理对象的数据成员(字段)。

要使用非静态公共方法,需要创建类

的实例
ClassName obj = new ClassName();
obj.MyPublicMethod();