Type.IsVisible Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém um valor que indica se o Type código pode ser acessado por código fora do assembly.
public:
property bool IsVisible { bool get(); };
public bool IsVisible { get; }
member this.IsVisible : bool
Public ReadOnly Property IsVisible As Boolean
Valor da propriedade
true se a corrente Type for um tipo público ou um tipo aninhado público de modo que todos os tipos delimitados sejam públicos; caso contrário, false.
Exemplos
O exemplo de código a seguir testa duas classes, apenas uma delas está visível fora do assembly.
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
*/
module internal InternalOnly =
type Nested() = class end
module Example =
type Nested() = class end
let t = typeof<InternalOnly.Nested>
printfn $"Is the {t.FullName} class visible outside the assembly? {t.IsVisible}"
let t2 = typeof<Example.Nested>
printfn $"Is the {t2.FullName} class visible outside the assembly? {t2.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
Comentários
Use essa propriedade para determinar se um tipo faz parte da interface pública de um assembly de componente.