Csharp/CSharp Tutorial/Class/internal
Use internal
- The internal modifier declares that a member is known throughout all files in an assembly, but unknown outside that assembly.
- The protected internal access level can be given only to class members.
- A member declared with protected internal access is accessible within its own assembly or to derived types.
<source lang="csharp">using System;
class InternalTest {
internal int x;
}
class MainClass {
public static void Main() { InternalTest ob = new InternalTest(); ob.x = 10; // can access -- in same file Console.WriteLine("Here is ob.x: " + ob.x); }
}</source>
Here is ob.x: 10
Using Internal on Members
<source lang="csharp">public class ComponentGroup{
public ComponentGroup(){ objects = new Component[10]; objectCount = 0; } public void AddObject(Component obj) { if (objectCount < 10) { objects[objectCount] = obj; objectCount++; } } public void Render(){ for (int i = 0; i < objectCount; i++) { objects[i].Render(); } } Component[] objects; int objectCount;
} public class Component {
internal void Render() {}
} class Test {
public static void Main() { ComponentGroup group = new ComponentGroup(); group.AddObject(new Component()); }
}</source>