Freigeben über


Type.IsVisible Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob auf den Type aus Code von außerhalb der Assembly zugegriffen werden kann.

public:
 property bool IsVisible { bool get(); };
public bool IsVisible { get; }
member this.IsVisible : bool
Public ReadOnly Property IsVisible As Boolean

Eigenschaftswert

Boolean

true, wenn der aktuelle Type ein öffentlicher Typ oder ein öffentlicher geschachtelter Typ ist, sodass alle einschließenden Typen öffentlich sind, andernfalls false.

Beispiele

Im folgenden Codebeispiel werden zwei Klassen überprüft, von denen nur eine außerhalb der Assembly sichtbar ist.

using namespace System;

private ref class InternalOnly 
{
public:
    ref class Nested {};
};

public ref class Example 
{
public:
    ref class Nested {};
}; 


// Entry point of example
int main()
{
    Type^ classType = InternalOnly::Nested::typeid;
    Console::WriteLine(
        "Is the {0} class visible outside the assembly? {1}",
        classType->FullName, classType->IsVisible);

    classType = Example::Nested::typeid;
    Console::WriteLine(
        "Is the {0} class visible outside the assembly? {1}", 
        classType->FullName, classType->IsVisible);
}

/* This example produces the following output:

Is the InternalOnly+Nested class visible outside the assembly? False
Is the Example+Nested class visible outside the assembly? True
*/
using System;

internal class InternalOnly 
{
    public class Nested {}
}

public class Example
{
    public class Nested {}

    public static void Main()
    {
        Type t = typeof(InternalOnly.Nested);
        Console.WriteLine(
            "Is the {0} class visible outside the assembly? {1}", 
            t.FullName, 
            t.IsVisible
        );

        t = typeof(Example.Nested);
        Console.WriteLine(
            "Is the {0} class visible outside the assembly? {1}", 
            t.FullName, 
            t.IsVisible
        );
    }
}

/* This example produces the following output:

Is the InternalOnly+Nested class visible outside the assembly? False
Is the Example+Nested class visible outside the assembly? True
 */
Friend Class InternalOnly
    Public Class Nested
    End Class
End Class

Public Class Example
    Public Class Nested
    End Class

    Public Shared Sub Main()
        With GetType(InternalOnly.Nested)
            Console.WriteLine("Is the " & .FullName _ 
                & " class visible outside the assembly? " & .IsVisible)
        End With

        With GetType(Example.Nested)
            Console.WriteLine("Is the " & .FullName _ 
                & " class visible outside the assembly? " & .IsVisible)
        End With
    End Sub
End Class

' This example produces the following output:
'
'Is the InternalOnly+Nested class visible outside the assembly? False
'Is the Example+Nested class visible outside the assembly? True

Hinweise

Verwenden Sie diese Eigenschaft, um zu bestimmen, ob ein Typ Teil der öffentlichen Schnittstelle einer Komponenten-Assembly ist.

Gilt für