Type.IsVisible Property

 

Gets a value indicating whether the Type can be accessed by code outside the assembly.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public bool IsVisible { get; }

Property Value

Type: System.Boolean

true if the current Type is a public type or a public nested type such that all the enclosing types are public; otherwise, false.

Use this property to determine whether a type is part of the public interface of a component assembly.

The following code example tests two classes, only one of which is visible outside the 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
 */

.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top
Show: