what is access modifier in c#?
Vivek Gupta
To access the members outside the class we use access modifiers. There are five types of access modifiers: Private, public ,protected,Internal and Protected Internal
Access Modifier are the keywords which are used to provide accessibility of the class and members of the class outside of the class. There are following types of access modifiers 1. Public 2. Private 3. Protected 4. Internal 5. Protected Internal Public 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. Accessibility: • Can be accessed by objects of the class • Can be accessed by derived classes Private Private access is the least permissive access level. Private members are accessible only within the body of the class or the struct in which they are declared. Accessibility: • Cannot be accessed by object • Cannot be accessed by derived classes Protected A protected member is accessible from within the class in which it is declared, and from within any class derived from the class that declared this member. A protected member of a base class is accessible in a derived class only if the access takes place through the derived class type. Accessibility: • Cannot be accessed by object • By derived classes Internal The internal keyword is an access modifier for types and type members. We can declare a class as internal or its member as internal. Internal members are accessible only within files in the same assembly (.dll). In other words, access is limited exclusively to classes defined within the current project assembly. Accessibility: In same assembly (public) • Can be accessed by objects of the class • Can be accessed by derived classes In other assembly (internal) • Cannot be accessed by object • Cannot be accessed by derived classes Protected Internal The protected internal accessibility means protected OR internal, not protected AND internal. In other words, a protected internal member is accessible from any class in the same assembly, including derived classes. The protected internal access modifier seems to be a confusing but is a union of protected and internal in terms of providing access but not restricting. It allows: • Inherited types, even though they belong to a different assembly, have access to the protected internal members. • Types that reside in the same assembly, even if they are not derived from the type, also have access to the protected internal members. Default access A default access level is used if no access modifier is specified in a member declaration. The following list defines the default access modifier for certain C# types For learning more about c# you prefer this link c# interview questions
In c# there are five type of access modifiers - Public Private Protected Internal Protected Internal Public: - Public members are accessible anywhere, inside the type (e.g. - class), outside the type, inside the assembly, outside the assembly, through the inheritance or with the type (e.g. instance of class, with type of class in case of static). Private: - Private members are only accessible within the own type (Own class). taken from this nice article read more - http://www.dotnetbull.com/public-protected-private-internal-access-modifier-in-c.html