Udostępnij za pośrednictwem


internal (odwołanie w C#)

internal Jest słowem kluczowym Modyfikator dostępu dla typów i elementy członkowskie typu.Typy wewnętrznego lub członkowie są dostępne tylko w obrębie tego samego zestawu, jak w poniższym przykładzie pliki:

public class BaseClass 
{
    // Only accessible within the same assembly
    internal static int x = 0;
}

Typy lub członków, które mają modyfikator dostępu protected internal można uzyskać dostęp z bieżącego zestawu lub typów, które są uzyskiwane z klasa zawierająca.

Dla porównania z internal z innych modyfikatorów dostępu, zobacz Poziomy ułatwień dostępu (odwołanie w C#) i Modyfikatory dostępu (Przewodnik programowania w języku C#).

Aby uzyskać więcej informacji na temat zestawów, zobacz Zestawy i globalna pamięć podręczna zestawów (C# and Visual Basic).

Wspólne korzystanie z dostępu do wewnętrznego jest w rozwoju składnika, ponieważ umożliwia to grupy składników do współpracy w sposób prywatne nie będą narażone na pozostałej części kodu aplikacji.Na przykład, może dostarczyć ramy do tworzenia graficznych interfejsów użytkownika Control i Form klas, które współpracują przy użyciu członków z wewnętrznego dostępu.Ponieważ te elementy są wewnętrzne, nie są one narażone na kod, który używa ramach.

Jest to błąd, aby odwoływać się do typu lub element członkowski z wewnętrznego dostęp spoza zestawu, w którym został zdefiniowany.

Przykład

W tym przykładzie zawiera dwa pliki, Assembly1.cs i Assembly1_a.cs.Pierwszy plik zawiera wewnętrzny klasy bazowej, BaseClass.W drugim pliku, próba utworzenia wystąpienia BaseClass powoduje wygenerowanie błędu.

// Assembly1.cs
// Compile with: /target:library
internal class BaseClass 
{
   public static int intM = 0;
}

// Assembly1_a.cs
// Compile with: /reference:Assembly1.dll
class TestAccess 
{
   static void Main() 
   {
      BaseClass myBase = new BaseClass();   // CS0122
   }
}

W tym przykładzie Użyj tych samych plików używane w przykładzie 1 i zmienić poziom dostępności BaseClass do public.Również zmienić poziom dostępności członka IntM do internal.W takim przypadku można utworzyć wystąpienie klasy, ale nie może uzyskać dostępu do wewnętrznego członka.

// Assembly2.cs
// Compile with: /target:library
public class BaseClass 
{
   internal static int intM = 0;
}

// Assembly2_a.cs
// Compile with: /reference:Assembly1.dll
public class TestAccess 
{
   static void Main() 
   {
      BaseClass myBase = new BaseClass();   // Ok.
      BaseClass.intM = 444;    // CS0117
   }
}

Specyfikacja języka C#

Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#. Specyfikacja języka jest ostatecznym źródłem informacji o składni i użyciu języka C#.

Zobacz też

Informacje

Słowa kluczowe języka C#

Modyfikatory dostępu (odwołanie w C#)

Poziomy ułatwień dostępu (odwołanie w C#)

Modyfikatory (odwołanie w C#)

public (odwołanie w C#)

private (odwołanie w C#)

protected (odwołanie w C#)

Koncepcje

Przewodnik programowania w języku C#

Inne zasoby

Odwołanie w C#