Type.IsVisible Property

July 28, 2014

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 Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      Type t = typeof(InternalOnly.Nested);
      outputBlock.Text += String.Format(
          "Is the {0} class visible outside the assembly? {1}",
          t.FullName,
          t.IsVisible
      ) + "\n";

      t = typeof(Example.Nested);
      outputBlock.Text += String.Format(
          "Is the {0} class visible outside the assembly? {1}",
          t.FullName,
          t.IsVisible
      ) + "\n";
   }
}

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

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2014 Microsoft