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.
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);
}
}
Here is ob.x: 10
Using Internal on Members
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());
}
}