Windows apps
Collapse the table of content
Expand the table of content
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:
property bool IsVisible {
	bool 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 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
*/

.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:
© 2017 Microsoft