Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Expand Minimize

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

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Portable Class Library

Supported in: Portable Class Library
Show:
© 2015 Microsoft