阅读了 C# 编程教程中的访问修饰符后,我得出结论,定义一个方法public
足以让它从另一个Form
相同的命名空间“看到”。
然而,在实践中,每当我尝试实现这一点时,我还必须定义该方法static
,以便从其他Forms
相同的命名空间中引用它。
我失去了什么吗?我做错了什么?
对于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
(非静态)方法需要类的实例,公共(非静态)方法通常可以帮助您使用对象的数据成员(字段)。
要使用非静态公共方法,您需要创建类的实例
ClassName obj = new ClassName();
obj.MyPublicMethod();