Type.IsVisible Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение, позволяющее определить, можно ли получить доступ к объекту Type из кода за пределами сборки.
public:
property bool IsVisible { bool get(); };
public bool IsVisible { get; }
member this.IsVisible : bool
Public ReadOnly Property IsVisible As Boolean
Значение свойства
Значение true
, если текущий объект Type является открытым типом или открытым вложенным типом, все включающие типы которого также являются открытыми; в противном случае — значение false
.
Примеры
В следующем примере кода проверяется два класса, только один из которых является видимым за пределами сборки.
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
Комментарии
Это свойство используется для определения того, является ли тип частью открытого интерфейса сборки компонента.