Like as another programming language C# also provide Visibility control.you can control visibility of method,variable and class.Various access modifier available in C# that allows you to control visibility of method,class variables,are follows:
public: Specifies that the variables or method are accessible both inside and outside the class in which they are defined.
Protected: Specifies that the variables and method are accessible,within the class in which they are defined and they also accessible within driven class of that class.
strong>private:Specifies that the variables ant method can only be accessed within the class in which they are defined.
internal:Specifies that the variables and method are visible within the current compilation unit.
static: this is a modifier,which is used to control the visibility of a method only.The static access modifier specifies that method is not part of an instance of a class.
extern is a access modifier,which is used only for method.The extern access modifier specifies that the method can be called by other class defined in other C# program