Type.IsVisible Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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.