Type.IsVisible Type.IsVisible Type.IsVisible Type.IsVisible Property

定義

Type にアセンブリの外側のコードからアクセスできるかどうかを示す値を取得します。Gets a value indicating whether the Type can be accessed by code outside the assembly.

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

プロパティ値

現在のtrue がパブリック型である場合、またはすべての包含する型がパブリックであるような入れ子にされたパブリック型である場合は Type。それ以外の場合は falsetrue if the current Type is a public type or a public nested type such that all the enclosing types are public; otherwise, false.

次のコード例では、一方のみが、アセンブリ外部から参照できる、2 つのクラスをテストします。The following code example tests two classes, only one of which is visible outside the assembly.

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
 */
Imports System

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

注釈

このプロパティを使用して、型がコンポーネント アセンブリのパブリック インターフェイスの一部であるかどうかを判断します。Use this property to determine whether a type is part of the public interface of a component assembly.

適用対象