public (C# Reference)
The public keyword is an access modifier for types and type members. Public access is the most permissive access level. There are no restrictions on accessing public members, as in this example:
class SampleClass
{
public int x; // No access restrictions.
}
See Access Modifiers (C# Programming Guide) and Accessibility Levels for more information.
Example
In the following example, two classes are declared, Point
and MainClass
. The public members x and y of Point
are accessed directly from MainClass
.
// protected_public.cs
// Public access
using System;
class Point
{
public int x;
public int y;
}
class MainClass
{
static void Main()
{
Point p = new Point();
// Direct access to public members:
p.x = 10;
p.y = 15;
Console.WriteLine("x = {0}, y = {1}", p.x, p.y);
}
}
Output
x = 10, y = 15
If you change the public access level to private or protected, you will get the error message:
'Point.y' is inaccessible due to its protection level.
C# Language Specification
For more information, see the following sections in the C# Language Specification:
3.5.1 Declared Accessibility
3.5.4 Accessibility constraints
10.2.3 Access Modifiers
10.2.6.2 Declared Accessibility
See Also
Reference
Access Modifiers (C# Programming Guide)
C# Keywords
Access Modifiers (C# Reference)
Accessibility Levels (C# Reference)
Modifiers (C# Reference)
private (C# Reference)
protected (C# Reference)
internal (C# Reference)