Why do we use internal classes for constants in C#? -
i have seen in many projects. why developers use internal classes store constant variables in c#? for instance: internal static class constants { public const double pi = 3.14159; public const int speedoflight = 300000; // km per sec. } simply, designer decided class need used within same assembly. , not exposed or accessed project referencing assembly. when download nuget package, can't access classes internal. developers decided don't need access these. these values "private" package. more on access modifiers: public :access not restricted. protected :access limited containing class or types derived containing class. internal: access limited current assembly. protected internal : access limited current assembly or types derived containing class. private : access limited containing type.