C#比较私有静态方法和公共静态方法

5

C#中,标记为public staticprivate static的方法有什么区别?

它们如何分配和访问?


如果没有先参考C#教程或搜索谷歌,就打-1。有数百个不同访问级别(公共的、受保护的、内部的、私有的)使用示例的例子。 - John Alexiou
3个回答

9

私有静态方法只能在其定义的类内部访问。公共静态方法可以在类外部访问。

public class MyClass
{ 
    private static void MyPrivateMethod()
    {
        // do stuff
    }

    public static void MyPublicMethod()
    {
        // do stuff
    }
}

public class SomeOtherClass
{
    static void main(string[] args)
    {
         MyClass.MyPrivateMethod(); // invalid - this method is not visible

         MyClass.MyPublicMethod(); // valid - this method is public, thus visible
    }
}

关于内存分配,可以参考以下内容:

方法存储在哪里?


它们在内存中是如何分配的? - Vikram

1

私有静态方法只能被该类中的其他方法访问。 公共静态方法在访问上几乎是全局的。


1
不完全正确,非静态方法可以访问静态方法。 - AK.
为什么使用其他静态方法?私有静态方法可以从同一类的每个方法访问。 - acoolaum

0

静态方法是在类级别上应用的,即不需要对象来访问它们。公共方法和私有方法之间唯一的区别是可访问性。

  • 私有方法仅对该类中的其他方法可见。
  • 公共方法对任何其他类都可见。

    静态方法可以被静态方法和非静态方法访问。

  • 它们在内存中是如何分配的? - Vikram

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接