Type.IsVisible Property

Note: This property is new in the .NET Framework version 2.0.

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

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

public:
property bool IsVisible {
	bool get ();
}
/** @property */
public boolean get_IsVisible ()

public function get IsVisible () : boolean

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

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 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 .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0

.NET Compact Framework

Supported in: 2.0

Community Additions

ADD
Show: