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.


<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>