Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.

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 (C# Reference) for more information.

In the following example, two classes are declared, Point and MainClass. The public members x and y of Point are accessed directly from MainClass.

class PointTest
    public int x; 
    public int y;

class MainClass4
    static void Main() 
        PointTest p = new PointTest();
        // 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.

For more information, see the following sections in the C# Language Specification:

  • 3.5.1 Declared Accessibility

  • 3.5.4 Accessibility constraints

  • 10.3.5 Access Modifiers

  • Declared Accessibility

Community Additions

© 2015 Microsoft