In C#, what is the difference between methods that are markedpublic static
and methods marked asprivate static
?
How are they allocated and accessed?
In C#, what is the difference between methods that are markedpublic static
and methods marked asprivate static
?
How are they allocated and accessed?
A private static method can only be accessed within the class that it's defined in. A public static method can be accessed outside of the class.
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
}
}
As far as memory allocation goes, see here:
Private static methods can only be accessed by other methods in that class. Public static methods are pretty much global in access.
Static methods are applied at a class level, ie, an object is not required to access them. The only difference between public and private methods is accessibility.