Why do we use internal keyword in C#?

Internal keyword allows you to set internal access specifier.

Internal access specifier allows a class to expose its member variables and member functions to other functions and objects in the current assembly.

Any member with internal access specifier can be accessed from any class or method defined within the application in which the member is defined.


using System;

namespace RectangleApplication {
   class Rectangle {

      internal double length;
      internal double width;

      double GetArea() {
         return length * width;

      public void Display() {
         Console.WriteLine("Length: {0}", length);
         Console.WriteLine("Width: {0}", width);
         Console.WriteLine("Area: {0}", GetArea());

   class Demo {
      static void Main(string[] args) {
         Rectangle rc = new Rectangle();
         rc.length = 10.35;
         rc.width = 8.3;

Updated on: 21-Jun-2020

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started