Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

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 */
public boolean get_IsVisible ()

public function get IsVisible () : boolean

Not applicable.

Property Value

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

import System.*;

class InternalOnly
{
    public class Nested {}
} //InternalOnly

public class Example
{
    public class Nested {}

    public static void main(String[] args)
    {
        Type t = InternalOnly.Nested.class.ToType();
        Console.WriteLine("Is the {0} class visible outside the assembly? {1}",
            t.get_FullName(), (System.Boolean)t.get_IsVisible());

        t = Example.Nested.class.ToType();
        Console.WriteLine("Is the {0} class visible outside the assembly? {1}",
            t.get_FullName(), (System.Boolean)t.get_IsVisible());
    } //main
} //Example

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

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0

.NET Compact Framework

Supported in: 2.0

XNA Framework

Supported in: 1.0
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2015 Microsoft