Csharp/CSharp Tutorial/Class/internal

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Use internal

  1. The internal modifier declares that a member is known throughout all files in an assembly, but unknown outside that assembly.
  2. The protected internal access level can be given only to class members.
  3. 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());
    }
}